Skip to content

Commit ca41ed6

Browse files
committed
refactor query
1 parent bd1b68c commit ca41ed6

File tree

8 files changed

+29
-7
lines changed

8 files changed

+29
-7
lines changed

cpp/autosar/src/rules/M7-4-1/UsageOfAssemblerNotDocumented.ql

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717

1818
import cpp
1919
import codingstandards.cpp.autosar
20+
import codingstandards.cpp.rules.usageofassemblernotdocumented.UsageOfAssemblerNotDocumented
2021

21-
from AsmStmt a
22-
where
23-
not isExcluded(a, BannedLibrariesPackage::usageOfAssemblerNotDocumentedQuery()) and
24-
not exists(Comment c | c.getCommentedElement() = a) and
25-
not a.isAffectedByMacro()
26-
select a, "Use of assembler is not documented."
22+
class UsageOfAssemblerNotDocumentedQuery extends UsageOfAssemblerNotDocumentedSharedQuery {
23+
UsageOfAssemblerNotDocumentedQuery() {
24+
this = BannedLibrariesPackage::usageOfAssemblerNotDocumentedQuery()
25+
}
26+
}

cpp/autosar/test/rules/M7-4-1/UsageOfAssemblerNotDocumented.qlref

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
cpp/common/test/rules/usageofassemblernotdocumented/UsageOfAssemblerNotDocumented.ql
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/**
2+
* Provides a library which includes a `problems` predicate for reporting
3+
* undocumented uses of assembly.
4+
*/
5+
6+
import cpp
7+
import codingstandards.cpp.Customizations
8+
import codingstandards.cpp.Exclusions
9+
10+
abstract class UsageOfAssemblerNotDocumentedSharedQuery extends Query { }
11+
12+
Query getQuery() { result instanceof UsageOfAssemblerNotDocumentedSharedQuery }
13+
14+
query predicate problems(AsmStmt a, string message) {
15+
not isExcluded(a, getQuery()) and
16+
not exists(Comment c | c.getCommentedElement() = a) and
17+
not a.isAffectedByMacro() and
18+
message = "Use of assembler is not documented."
19+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// GENERATED FILE - DO NOT MODIFY
2+
import codingstandards.cpp.rules.usageofassemblernotdocumented.UsageOfAssemblerNotDocumented

rule_packages/cpp/BannedLibraries.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@
229229
"precision": "very-high",
230230
"severity": "recommendation",
231231
"short_name": "UsageOfAssemblerNotDocumented",
232+
"shared_implementation_short_name": "UsageOfAssemblerNotDocumented",
232233
"tags": [
233234
"readability",
234235
"maintainability",

0 commit comments

Comments
 (0)