Skip to content

Commit 855ce8d

Browse files
author
Matthew Gretton-Dann
committed
C++: Add support for UsingEntry.getEnclosingElement
1 parent 9150682 commit 855ce8d

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,8 @@ class Element extends ElementBase {
206206
namequalifiers(underlyingElement(this), unresolveElement(result), _, _) or
207207
initialisers(underlyingElement(this), unresolveElement(result), _, _) or
208208
exprconv(unresolveElement(result), underlyingElement(this)) or
209-
param_decl_bind(underlyingElement(this),_,unresolveElement(result))
209+
param_decl_bind(underlyingElement(this),_,unresolveElement(result)) or
210+
using_container(unresolveElement(result),underlyingElement(this))
210211
}
211212

212213
/** Gets the closest `Element` enclosing this one. */
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
| templates.cpp:9:5:9:14 | using c | file://:0:0:0:0 | std |
2+
| usings.cpp:8:1:8:11 | using nf | file://:0:0:0:0 | (global namespace) |
3+
| usings.cpp:9:1:9:17 | using namespace N | file://:0:0:0:0 | (global namespace) |
4+
| usings.cpp:18:3:18:13 | using bf | usings.cpp:16:8:16:8 | D |
5+
| usings.cpp:21:5:21:14 | using gf | usings.cpp:20:13:23:3 | { ... } |
6+
| usings.cpp:34:3:34:20 | using tbf | usings.cpp:32:8:32:9 | TD |
7+
| usings.cpp:42:5:42:22 | using foo | usings.cpp:41:11:41:15 | nsbar |
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import cpp
2+
3+
from UsingEntry ue, Element e
4+
where
5+
e = ue.getEnclosingElement()
6+
select ue, e

0 commit comments

Comments
 (0)