Python: Enclosing callable for synthetic arguments

This commit is contained in:
Rasmus Lerchedahl Petersen
2020-12-01 12:11:14 +01:00
parent a16d58dfc0
commit 0629d3e6e7
2 changed files with 21 additions and 3 deletions

View File

@@ -287,6 +287,13 @@ class PosOverflowNode extends Node, TPosOverflowNode {
override string toString() { result = "PosOverflowNode for " + call.getNode().toString() }
override DataFlowCallable getEnclosingCallable() {
exists(Node node |
node = TCfgNode(call) and
result = node.getEnclosingCallable()
)
}
override Location getLocation() { result = call.getLocation() }
}
@@ -301,6 +308,13 @@ class KwOverflowNode extends Node, TKwOverflowNode {
override string toString() { result = "KwOverflowNode for " + call.getNode().toString() }
override DataFlowCallable getEnclosingCallable() {
exists(Node node |
node = TCfgNode(call) and
result = node.getEnclosingCallable()
)
}
override Location getLocation() { result = call.getLocation() }
}
@@ -316,6 +330,13 @@ class KwUnpacked extends Node, TKwUnpacked {
override string toString() { result = "KwUnpacked " + name }
override DataFlowCallable getEnclosingCallable() {
exists(Node node |
node = TCfgNode(call) and
result = node.getEnclosingCallable()
)
}
override Location getLocation() { result = call.getLocation() }
}