Skip to content

Commit f66d898

Browse files
authored
Merge branch 'main' into michaelrfairhurst/package-deadcode-9-rule-0-2-3
2 parents b566048 + 86caf28 commit f66d898

File tree

35 files changed

+535
-24
lines changed

35 files changed

+535
-24
lines changed
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
// GENERATED FILE - DO NOT MODIFY
22
import codingstandards.cpp.rules.unusedparameter.UnusedParameter
33

4-
class TestFileQuery extends UnusedParameterSharedQuery, TestQuery { }
4+
module UnusedParameterTestConfig implements UnusedParameterSharedConfigSig {
5+
Query getQuery() { result instanceof TestQuery }
6+
}
7+
8+
import UnusedParameterShared<UnusedParameterTestConfig>

c/misra/src/rules/RULE-2-7/UnusedParameter.ql

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import cpp
1616
import codingstandards.c.misra
1717
import codingstandards.cpp.rules.unusedparameter.UnusedParameter
1818

19-
class UnusedParameterQuery extends UnusedParameterSharedQuery {
20-
UnusedParameterQuery() { this = DeadCodePackage::unusedParameterQuery() }
19+
module UnusedParameterQueryConfig implements UnusedParameterSharedConfigSig {
20+
Query getQuery() { result = DeadCodePackage::unusedParameterQuery() }
2121
}
22+
23+
import UnusedParameterShared<UnusedParameterQueryConfig>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
- `A0-1-4`, `RULE-2-7` - `UnusedParameter.ql`:
2+
- Refactored to be able to share most logic between MISRA C, MISRA C++, and AUTOSAR. No visible change in behavior expected.

cpp/autosar/src/rules/A0-1-4/UnusedParameter.ql

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@ import codingstandards.cpp.autosar
1818
import codingstandards.cpp.deadcode.UnusedParameters
1919
import codingstandards.cpp.rules.unusedparameter.UnusedParameter
2020

21-
class UnusedParameterQuery extends UnusedParameterSharedQuery {
22-
UnusedParameterQuery() { this = DeadCodePackage::unusedParameterQuery() }
21+
module UnusedParameterQueryConfig implements UnusedParameterSharedConfigSig {
22+
Query getQuery() { result = DeadCodePackage::unusedParameterQuery() }
23+
24+
predicate excludeParameter(Parameter p) {
25+
// Virtual functions are covered by a different rule
26+
p.getFunction().isVirtual()
27+
}
2328
}
29+
30+
import UnusedParameterShared<UnusedParameterQueryConfig>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
| test.cpp:2:14:2:14 | x | Unused parameter 'x' for function $@. | test.cpp:2:8:2:8 | b | A::b |
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
rules/A0-1-4/UnusedParameter.ql

cpp/autosar/test/rules/A0-1-4/UnusedParameter.testref

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
class A {
2+
void b(int x) {} // NON_COMPLIANT
3+
4+
// This is specially excluded from A0-1-4, covered by a different rule,
5+
// even though it's non compliant in the shared query.
6+
virtual void d(int x, int y) {} // COMPLIANT
7+
};
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//** THIS FILE IS AUTOGENERATED, DO NOT MODIFY DIRECTLY. **/
2+
import cpp
3+
import RuleMetadata
4+
import codingstandards.cpp.exclusions.RuleMetadata
5+
6+
newtype DeadCode11Query = TPotentiallyErroneousContainerUsageQuery()
7+
8+
predicate isDeadCode11QueryMetadata(Query query, string queryId, string ruleId, string category) {
9+
query =
10+
// `Query` instance for the `potentiallyErroneousContainerUsage` query
11+
DeadCode11Package::potentiallyErroneousContainerUsageQuery() and
12+
queryId =
13+
// `@id` for the `potentiallyErroneousContainerUsage` query
14+
"cpp/misra/potentially-erroneous-container-usage" and
15+
ruleId = "RULE-28-6-4" and
16+
category = "required"
17+
}
18+
19+
module DeadCode11Package {
20+
Query potentiallyErroneousContainerUsageQuery() {
21+
//autogenerate `Query` type
22+
result =
23+
// `Query` type for `potentiallyErroneousContainerUsage` query
24+
TQueryCPP(TDeadCode11PackageQuery(TPotentiallyErroneousContainerUsageQuery()))
25+
}
26+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//** THIS FILE IS AUTOGENERATED, DO NOT MODIFY DIRECTLY. **/
2+
import cpp
3+
import RuleMetadata
4+
import codingstandards.cpp.exclusions.RuleMetadata
5+
6+
newtype DeadCode8Query = TUnusedParameterMisraCppQuery()
7+
8+
predicate isDeadCode8QueryMetadata(Query query, string queryId, string ruleId, string category) {
9+
query =
10+
// `Query` instance for the `unusedParameterMisraCpp` query
11+
DeadCode8Package::unusedParameterMisraCppQuery() and
12+
queryId =
13+
// `@id` for the `unusedParameterMisraCpp` query
14+
"cpp/misra/unused-parameter-misra-cpp" and
15+
ruleId = "RULE-0-2-2" and
16+
category = "required"
17+
}
18+
19+
module DeadCode8Package {
20+
Query unusedParameterMisraCppQuery() {
21+
//autogenerate `Query` type
22+
result =
23+
// `Query` type for `unusedParameterMisraCpp` query
24+
TQueryCPP(TDeadCode8PackageQuery(TUnusedParameterMisraCppQuery()))
25+
}
26+
}

0 commit comments

Comments
 (0)