Skip to content

Commit 24a99a1

Browse files
committed
Declarations3: add import RULE-5-3
1 parent 263edcb commit 24a99a1

File tree

17 files changed

+113
-9
lines changed

17 files changed

+113
-9
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
No expected results have yet been specified
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.identifierhidden.IdentifierHidden

c/common/test/rules/identifierhidden/test.c

Whitespace-only changes.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/**
2+
* @id c/misra/identifier-hiding-c
3+
* @name RULE-5-3: An identifier declared in an inner scope shall not hide an identifier declared in an outer scope
4+
* @description Use of an identifier declared in an inner scope with an identical name to an
5+
* identifier in an outer scope can lead to inadvertent errors if the incorrect
6+
* identifier is modified.
7+
* @kind problem
8+
* @precision very-high
9+
* @problem.severity warning
10+
* @tags external/misra/id/rule-5-3
11+
* readability
12+
* maintainability
13+
* external/misra/obligation/required
14+
*/
15+
16+
import cpp
17+
import codingstandards.c.misra
18+
import codingstandards.cpp.rules.identifierhidden.IdentifierHidden
19+
20+
class IdentifierHidingCQuery extends IdentifierHiddenSharedQuery {
21+
IdentifierHidingCQuery() {
22+
this = Declarations3Package::identifierHidingCQuery()
23+
}
24+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
c/common/test/rules/identifierhidden/IdentifierHidden.ql

cpp/autosar/src/rules/A2-10-1/IdentifierHiding.ql

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,8 @@
1919

2020
import cpp
2121
import codingstandards.cpp.autosar
22-
import codingstandards.cpp.Scope
22+
import codingstandards.cpp.rules.identifierhidden.IdentifierHidden
2323

24-
from UserVariable v1, UserVariable v2
25-
where
26-
not isExcluded(v1, NamingPackage::identifierHidingQuery()) and
27-
not isExcluded(v2, NamingPackage::identifierHidingQuery()) and
28-
hides(v1, v2)
29-
select v2, "Variable is hiding variable $@.", v1, v1.getName()
24+
class IdentifierHidingCQuery extends IdentifierHiddenSharedQuery {
25+
IdentifierHidingCQuery() { this = NamingPackage::identifierHidingQuery() }
26+
}

cpp/autosar/test/rules/A2-10-1/IdentifierHiding.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/identifierhidden/IdentifierHidden.ql
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
//** THIS FILE IS AUTOGENERATED, DO NOT MODIFY DIRECTLY. **/
2+
import cpp
3+
import RuleMetadata
4+
import codingstandards.cpp.exclusions.RuleMetadata
5+
6+
newtype Declarations3Query = TIdentifierHidingCQuery()
7+
8+
predicate isDeclarations3QueryMetadata(Query query, string queryId, string ruleId) {
9+
query =
10+
// `Query` instance for the `identifierHidingC` query
11+
Declarations3Package::identifierHidingCQuery() and
12+
queryId =
13+
// `@id` for the `identifierHidingC` query
14+
"c/misra/identifier-hiding-c" and
15+
ruleId = "RULE-5-3"
16+
}
17+
18+
module Declarations3Package {
19+
Query identifierHidingCQuery() {
20+
//autogenerate `Query` type
21+
result =
22+
// `Query` type for `identifierHidingC` query
23+
TQueryC(TDeclarations3PackageQuery(TIdentifierHidingCQuery()))
24+
}
25+
}

cpp/common/src/codingstandards/cpp/exclusions/c/RuleMetadata.qll

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Concurrency4
1010
import Contracts1
1111
import Declarations1
1212
import Declarations2
13+
import Declarations3
1314
import Expressions
1415
import IO1
1516
import IO2
@@ -40,6 +41,7 @@ newtype TCQuery =
4041
TContracts1PackageQuery(Contracts1Query q) or
4142
TDeclarations1PackageQuery(Declarations1Query q) or
4243
TDeclarations2PackageQuery(Declarations2Query q) or
44+
TDeclarations3PackageQuery(Declarations3Query q) or
4345
TExpressionsPackageQuery(ExpressionsQuery q) or
4446
TIO1PackageQuery(IO1Query q) or
4547
TIO2PackageQuery(IO2Query q) or
@@ -70,6 +72,7 @@ predicate isQueryMetadata(Query query, string queryId, string ruleId) {
7072
isContracts1QueryMetadata(query, queryId, ruleId) or
7173
isDeclarations1QueryMetadata(query, queryId, ruleId) or
7274
isDeclarations2QueryMetadata(query, queryId, ruleId) or
75+
isDeclarations3QueryMetadata(query, queryId, ruleId) or
7376
isExpressionsQueryMetadata(query, queryId, ruleId) or
7477
isIO1QueryMetadata(query, queryId, ruleId) or
7578
isIO2QueryMetadata(query, queryId, ruleId) or

0 commit comments

Comments
 (0)