Skip to content

Commit 581f40b

Browse files
committed
Ql4Ql: Address review comments.
1 parent 4fc945e commit 581f40b

File tree

5 files changed

+21
-21
lines changed

5 files changed

+21
-21
lines changed

ql/ql/src/codeql_ql/ast/Ast.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,8 +232,8 @@ class QueryDoc extends QLDoc {
232232
result = this.getContents().regexpCapture("(?s).*@security\\-severity ([\\d\\.]+)\\s.*", 1)
233233
}
234234

235-
/** Gets the individual @tags for the query. */
236-
string getQueryTags() {
235+
/** Gets the individual @tags for the query, if any. */
236+
string getAQueryTag() {
237237
exists(string tags | tags = this.getContents().regexpCapture("(?s).*@tags ([^@]+)", 1) |
238238
result = tags.splitAt("*").trim() and
239239
result.regexpMatch("[\\w\\s\\-]+")

ql/ql/src/queries/style/MissingQualityMetadata.ql

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@
1010

1111
import ql
1212

13-
private predicate hasQualityTag(QueryDoc doc) { doc.getQueryTags() = "quality" }
13+
private predicate hasQualityTag(QueryDoc doc) { doc.getAQueryTag() = "quality" }
1414

15-
private predicate incorrectTopLevelCategorisation(QueryDoc doc) {
16-
count(string s | s = doc.getQueryTags() and s = ["maintainability", "reliability"]) != 1
15+
private predicate correctTopLevelCategorisation(QueryDoc doc) {
16+
strictcount(string s | s = doc.getAQueryTag() and s = ["maintainability", "reliability"]) = 1
1717
}
1818

1919
private predicate reliabilitySubCategory(QueryDoc doc) {
20-
doc.getQueryTags() = ["correctness", "performance", "concurrency", "error-handling"]
20+
doc.getAQueryTag() = ["correctness", "performance", "concurrency", "error-handling"]
2121
}
2222

2323
private predicate maintainabilitySubCategory(QueryDoc doc) {
24-
doc.getQueryTags() = ["readability", "useless-code", "complexity"]
24+
doc.getAQueryTag() = ["readability", "useless-code", "complexity"]
2525
}
2626

2727
from TopLevel t, QueryDoc doc, string msg
@@ -30,18 +30,18 @@ where
3030
not t.getLocation().getFile() instanceof TestFile and
3131
hasQualityTag(doc) and
3232
(
33-
incorrectTopLevelCategorisation(doc) and
33+
not correctTopLevelCategorisation(doc) and
3434
msg =
3535
"This query file has incorrect top-level categorisation. It should have exactly one top-level category, either `@tags maintainability` or `@tags reliability`."
3636
or
3737
maintainabilitySubCategory(doc) and
38-
not doc.getQueryTags() = "maintainability" and
38+
not doc.getAQueryTag() = "maintainability" and
3939
msg =
4040
"This query file has a sub-category of maintainability but is missing the `@tags maintainability` tag."
4141
or
4242
reliabilitySubCategory(doc) and
43-
not doc.getQueryTags() = "reliability" and
43+
not doc.getAQueryTag() = "reliability" and
4444
msg =
4545
"This query file has a sub-category of reliability but is missing the `@tags reliability` tag."
4646
)
47-
select t, msg
47+
select doc, msg

ql/ql/src/queries/style/MissingSecurityMetadata.ql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* @name Missing security metadata
3-
* @description Security queries should have both a `@tag security` and a `@security-severity` tag.
3+
* @description Security queries should have both a `@tags security` and a `@security-severity` tag.
44
* @kind problem
55
* @problem.severity warning
66
* @precision very-high
@@ -11,15 +11,15 @@
1111
import ql
1212

1313
predicate missingSecuritySeverity(QueryDoc doc) {
14-
doc.getQueryTags() = "security" and
14+
doc.getAQueryTag() = "security" and
1515
exists(doc.getQueryPrecision()) and
1616
not exists(doc.getQuerySecuritySeverity())
1717
}
1818

1919
predicate missingSecurityTag(QueryDoc doc) {
2020
exists(doc.getQuerySecuritySeverity()) and
2121
exists(doc.getQueryPrecision()) and
22-
not doc.getQueryTags() = "security"
22+
not doc.getAQueryTag() = "security"
2323
}
2424

2525
from TopLevel t, QueryDoc doc, string msg
@@ -32,4 +32,4 @@ where
3232
or
3333
missingSecurityTag(doc) and msg = "This query file is missing a `@tags security`."
3434
)
35-
select t, msg
35+
select doc, msg
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
| testcases/BadQualityMaintainabilityWrongToplevel.ql:1:1:17:13 | TopLevel | This query file has a sub-category of reliability but is missing the `@tags reliability` tag. |
2-
| testcases/BadQualityMultipleTopLevel.ql:1:1:17:13 | TopLevel | This query file has incorrect top-level categorisation. It should have exactly one top-level category, either `@tags maintainability` or `@tags reliability`. |
3-
| testcases/BadQualityNoToplevel.ql:1:1:16:13 | TopLevel | This query file has incorrect top-level categorisation. It should have exactly one top-level category, either `@tags maintainability` or `@tags reliability`. |
4-
| testcases/BadQualityReliabilityWrongToplevel.ql:1:1:17:13 | TopLevel | This query file has a sub-category of maintainability but is missing the `@tags maintainability` tag. |
1+
| testcases/BadQualityMaintainabilityWrongToplevel.ql:1:1:11:3 | QueryDoc | This query file has a sub-category of reliability but is missing the `@tags reliability` tag. |
2+
| testcases/BadQualityMultipleTopLevel.ql:1:1:11:3 | QueryDoc | This query file has incorrect top-level categorisation. It should have exactly one top-level category, either `@tags maintainability` or `@tags reliability`. |
3+
| testcases/BadQualityNoToplevel.ql:1:1:10:3 | QueryDoc | This query file has incorrect top-level categorisation. It should have exactly one top-level category, either `@tags maintainability` or `@tags reliability`. |
4+
| testcases/BadQualityReliabilityWrongToplevel.ql:1:1:11:3 | QueryDoc | This query file has a sub-category of maintainability but is missing the `@tags maintainability` tag. |
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
| testcases/BadNoSecurity.ql:1:1:16:9 | TopLevel | This query file is missing a `@tags security`. |
2-
| testcases/BadNoSeverity.ql:1:1:16:9 | TopLevel | This query file is missing a `@security-severity` tag. |
1+
| testcases/BadNoSecurity.ql:1:1:10:3 | QueryDoc | This query file is missing a `@tags security`. |
2+
| testcases/BadNoSeverity.ql:1:1:10:3 | QueryDoc | This query file is missing a `@security-severity` tag. |

0 commit comments

Comments
 (0)