Skip to content

Commit ca082be

Browse files
committed
C++: Fix spurious extra qualified names for enum constants within a class
1 parent c204ec3 commit ca082be

File tree

2 files changed

+1
-2
lines changed

2 files changed

+1
-2
lines changed

cpp/ql/src/semmle/code/cpp/Declaration.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ abstract class Declaration extends Locatable, @declaration {
5656
// MemberFunction, MemberVariable, MemberType
5757
exists (Declaration m
5858
| m = this and
59+
not m instanceof EnumConstant and
5960
result = m.getDeclaringType().getQualifiedName() + "::" + m.getName())
6061
or
6162
exists (EnumConstant c

cpp/ql/test/library-tests/qualifiers/class-enum/decls.expected

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99
| test.cpp:2:7:2:7 | operator= | MyEnumClass::operator= |
1010
| test.cpp:2:7:2:17 | MyEnumClass | MyEnumClass |
1111
| test.cpp:4:10:4:15 | MyEnum | MyEnumClass::MyEnum |
12-
| test.cpp:5:9:5:9 | A | MyEnumClass::A |
1312
| test.cpp:5:9:5:9 | A | MyEnumClass::MyEnum::A |
14-
| test.cpp:6:9:6:9 | B | MyEnumClass::B |
1513
| test.cpp:6:9:6:9 | B | MyEnumClass::MyEnum::B |
1614
| test.cpp:10:34:10:34 | v | v |
1715
| test.cpp:12:7:12:7 | MyClass2 | MyClass2::MyClass2 |

0 commit comments

Comments
 (0)