Skip to content

Commit 6e9cc46

Browse files
authored
Merge pull request #131 from ian-semmle/namespace_vars
C++: Give namespace variables a qualified name
2 parents a2946f7 + 3a00e24 commit 6e9cc46

File tree

3 files changed

+26
-20
lines changed

3 files changed

+26
-20
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ abstract class Declaration extends Locatable, @declaration {
6262
| c = this and
6363
result = c.getDeclaringEnum().getQualifiedName() + "::" + c.getName())
6464
or
65-
exists (GlobalVariable v, string s1, string s2
65+
exists (GlobalOrNamespaceVariable v, string s1, string s2
6666
| v = this and
6767
s2 = v.getNamespace().getQualifiedName() and
6868
s1 = v.getName()
Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | __va_list_tag |
2-
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | fp_offset |
3-
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | gp_offset |
4-
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | operator= |
5-
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | operator= |
6-
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | overflow_arg_area |
7-
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | reg_save_area |
8-
| file://:0:0:0:0 | B | namespaces.cpp:32:7:32:7 | x |
9-
| namespaces.cpp:11:13:11:13 | C::D | file://:0:0:0:0 | p#0 |
10-
| namespaces.cpp:11:13:11:13 | C::D | file://:0:0:0:0 | p#0 |
11-
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:13:17:13:17 | f |
12-
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:15:12:15:12 | E |
13-
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:15:12:15:12 | operator= |
14-
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:15:12:15:12 | operator= |
15-
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:17:12:17:12 | g |
16-
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:17:18:17:18 | p |
17-
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:18:12:18:12 | a |
18-
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:20:13:20:13 | b |
1+
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | __va_list_tag | __va_list_tag |
2+
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | fp_offset | __va_list_tag::fp_offset |
3+
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | gp_offset | __va_list_tag::gp_offset |
4+
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | operator= | __va_list_tag::operator= |
5+
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | operator= | __va_list_tag::operator= |
6+
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | overflow_arg_area | __va_list_tag::overflow_arg_area |
7+
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | reg_save_area | __va_list_tag::reg_save_area |
8+
| file://:0:0:0:0 | B | namespaces.cpp:32:7:32:7 | x | B::x |
9+
| namespaces.cpp:11:13:11:13 | C::D | file://:0:0:0:0 | p#0 | <none> |
10+
| namespaces.cpp:11:13:11:13 | C::D | file://:0:0:0:0 | p#0 | <none> |
11+
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:13:17:13:17 | f | C::D::f |
12+
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:15:12:15:12 | E | C::D::E |
13+
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:15:12:15:12 | operator= | C::D::E::operator= |
14+
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:15:12:15:12 | operator= | C::D::E::operator= |
15+
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:17:12:17:12 | g | C::D::E::g |
16+
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:17:18:17:18 | p | <none> |
17+
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:18:12:18:12 | a | <none> |
18+
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:20:13:20:13 | b | <none> |
Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
import cpp
22

3+
string qual(Declaration d) {
4+
if exists(d.getQualifiedName())
5+
then result = d.getQualifiedName()
6+
else result = "<none>"
7+
}
8+
39
from Namespace n, Declaration d
410
where n = d.getNamespace()
5-
select n, d
11+
select n, d, qual(d)
612

0 commit comments

Comments
 (0)