Skip to content

Commit 3c07ab5

Browse files
authored
Merge pull request github#8936 from jketema/camel-case
QL: Improve camel case query
2 parents 4553a09 + b6cf536 commit 3c07ab5

File tree

5 files changed

+19
-1
lines changed

5 files changed

+19
-1
lines changed

ql/ql/src/codeql_ql/style/AcronymsShouldBeCamelCaseQuery.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,5 +68,6 @@ predicate shouldBePascalCased(string name, AstNode node, string kind) {
6868
// allowed upper-case acronyms.
6969
not name.regexpMatch(".*(PEP|AES|DES|EOF).*") and
7070
not (name.regexpMatch("T[A-Z]{3}[^A-Z].*") and node instanceof NewTypeBranch) and
71+
not (name.regexpMatch("T[A-Z]{3}[^A-Z].*") and node instanceof NewType) and
7172
not name.toUpperCase() = name // We are OK with fully-uppercase names.
7273
}

ql/ql/src/queries/style/AcronymsShouldBeCamelCase.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ import codeql_ql.style.AcronymsShouldBeCamelCaseQuery
1414

1515
from string name, AstNode node
1616
where shouldBePascalCased(name, node, _)
17-
select node, "Acronyms should be PascalCase/camelCase"
17+
select node, "Acronyms in " + name + " should be PascalCase/camelCase"
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
| Test.qll:2:1:2:27 | ClasslessPredicate isXML | Acronyms in isXML should be PascalCase/camelCase |
2+
| Test.qll:8:1:10:15 | NewType TXMLElements | Acronyms in TXMLElements should be PascalCase/camelCase |
3+
| Test.qll:10:3:10:15 | NewTypeBranch TXMLElement | Acronyms in TXMLElement should be PascalCase/camelCase |
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
queries/style/AcronymsShouldBeCamelCase.ql
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// BAD
2+
predicate isXML() { any() }
3+
4+
// GOOD [ AES is exceptional ]
5+
predicate isAES() { any() }
6+
7+
// BAD
8+
newtype TXMLElements =
9+
TXmlElement() or // GOOD
10+
TXMLElement() // BAD
11+
12+
// GOOD
13+
newtype TIRFunction = MkIRFunction()

0 commit comments

Comments
 (0)