Skip to content

Commit f1c44f7

Browse files
committed
Python: Sync on TypeTracker.qll changes
1 parent 2e8f46d commit f1c44f7

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

python/ql/lib/semmle/python/dataflow/new/internal/TypeTracker.qll

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ private module Cached {
186186
jumpStep(nodeFrom, nodeTo) and
187187
summary = JumpStep()
188188
or
189-
levelStep(nodeFrom, nodeTo) and
189+
levelStepNoCall(nodeFrom, nodeTo) and
190190
summary = LevelStep()
191191
or
192192
exists(TypeTrackerContent content |
@@ -216,6 +216,9 @@ private module Cached {
216216
or
217217
returnStep(nodeFrom, nodeTo) and
218218
summary = ReturnStep()
219+
or
220+
levelStepCall(nodeFrom, nodeTo) and
221+
summary = LevelStep()
219222
}
220223
}
221224

python/ql/lib/semmle/python/dataflow/new/internal/TypeTrackerSpecific.qll

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,11 @@ predicate simpleLocalFlowStep = DataFlowPrivate::simpleLocalFlowStepForTypetrack
4545

4646
predicate jumpStep = DataFlowPrivate::jumpStepSharedWithTypeTracker/2;
4747

48-
/** Holds if there is a level step from `pred` to `succ`. */
49-
predicate levelStep(Node pred, Node succ) { none() }
48+
/** Holds if there is a level step from `nodeFrom` to `nodeTo`, which may depend on the call graph. */
49+
predicate levelStepCall(Node pred, Node succ) { none() }
50+
51+
/** Holds if there is a level step from `nodeFrom` to `nodeTo`, which does not depend on the call graph. */
52+
predicate levelStepNoCall(Node nodeFrom, Node nodeTo) { none() }
5053

5154
/**
5255
* Gets the name of a possible piece of content. For Python, this is currently only attribute names,

0 commit comments

Comments
 (0)