mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
Merge pull request #131 from ian-semmle/namespace_vars
C++: Give namespace variables a qualified name
This commit is contained in:
@@ -62,7 +62,7 @@ abstract class Declaration extends Locatable, @declaration {
|
||||
| c = this and
|
||||
result = c.getDeclaringEnum().getQualifiedName() + "::" + c.getName())
|
||||
or
|
||||
exists (GlobalVariable v, string s1, string s2
|
||||
exists (GlobalOrNamespaceVariable v, string s1, string s2
|
||||
| v = this and
|
||||
s2 = v.getNamespace().getQualifiedName() and
|
||||
s1 = v.getName()
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | __va_list_tag |
|
||||
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | fp_offset |
|
||||
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | gp_offset |
|
||||
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | operator= |
|
||||
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | operator= |
|
||||
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | overflow_arg_area |
|
||||
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | reg_save_area |
|
||||
| file://:0:0:0:0 | B | namespaces.cpp:32:7:32:7 | x |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | file://:0:0:0:0 | p#0 |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | file://:0:0:0:0 | p#0 |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:13:17:13:17 | f |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:15:12:15:12 | E |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:15:12:15:12 | operator= |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:15:12:15:12 | operator= |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:17:12:17:12 | g |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:17:18:17:18 | p |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:18:12:18:12 | a |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:20:13:20:13 | b |
|
||||
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | __va_list_tag | __va_list_tag |
|
||||
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | fp_offset | __va_list_tag::fp_offset |
|
||||
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | gp_offset | __va_list_tag::gp_offset |
|
||||
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | operator= | __va_list_tag::operator= |
|
||||
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | operator= | __va_list_tag::operator= |
|
||||
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | overflow_arg_area | __va_list_tag::overflow_arg_area |
|
||||
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | reg_save_area | __va_list_tag::reg_save_area |
|
||||
| file://:0:0:0:0 | B | namespaces.cpp:32:7:32:7 | x | B::x |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | file://:0:0:0:0 | p#0 | <none> |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | file://:0:0:0:0 | p#0 | <none> |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:13:17:13:17 | f | C::D::f |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:15:12:15:12 | E | C::D::E |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:15:12:15:12 | operator= | C::D::E::operator= |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:15:12:15:12 | operator= | C::D::E::operator= |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:17:12:17:12 | g | C::D::E::g |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:17:18:17:18 | p | <none> |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:18:12:18:12 | a | <none> |
|
||||
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:20:13:20:13 | b | <none> |
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
import cpp
|
||||
|
||||
string qual(Declaration d) {
|
||||
if exists(d.getQualifiedName())
|
||||
then result = d.getQualifiedName()
|
||||
else result = "<none>"
|
||||
}
|
||||
|
||||
from Namespace n, Declaration d
|
||||
where n = d.getNamespace()
|
||||
select n, d
|
||||
select n, d, qual(d)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user