4
4
5
5
private import python
6
6
private import semmle.python.dataflow.new.internal.DataFlowPublic as DataFlowPublic
7
- private import semmle.python.dataflow.new.internal.DataFlowPrivate as DataFlowPrivate
8
7
private import TypeTrackingImpl as TypeTrackingImpl
9
- import semmle.python.internal.CachedStages
10
8
11
9
deprecated class Node = DataFlowPublic:: Node ;
12
10
@@ -44,15 +42,16 @@ deprecated predicate compatibleContents(
44
42
storeContent = loadContent
45
43
}
46
44
47
- predicate simpleLocalFlowStep = TypeTrackingImpl:: TypeTrackingInput:: simpleLocalSmallStep / 2 ;
45
+ deprecated predicate simpleLocalFlowStep =
46
+ TypeTrackingImpl:: TypeTrackingInput:: simpleLocalSmallStep / 2 ;
48
47
49
- predicate jumpStep = TypeTrackingImpl:: TypeTrackingInput:: jumpStep / 2 ;
48
+ deprecated predicate jumpStep = TypeTrackingImpl:: TypeTrackingInput:: jumpStep / 2 ;
50
49
51
50
/** Holds if there is a level step from `nodeFrom` to `nodeTo`, which may depend on the call graph. */
52
51
deprecated predicate levelStepCall ( Node nodeFrom , Node nodeTo ) { none ( ) }
53
52
54
53
/** Holds if there is a level step from `nodeFrom` to `nodeTo`, which does not depend on the call graph. */
55
- predicate levelStepNoCall = TypeTrackingImpl:: TypeTrackingInput:: levelStepNoCall / 2 ;
54
+ deprecated predicate levelStepNoCall = TypeTrackingImpl:: TypeTrackingInput:: levelStepNoCall / 2 ;
56
55
57
56
/**
58
57
* Holds if `nodeFrom` steps to `nodeTo` by being passed as a parameter in a call.
@@ -61,25 +60,25 @@ predicate levelStepNoCall = TypeTrackingImpl::TypeTrackingInput::levelStepNoCall
61
60
* recursion (or, at best, terrible performance), since identifying calls to library
62
61
* methods is done using API graphs (which uses type tracking).
63
62
*/
64
- predicate callStep = TypeTrackingImpl:: TypeTrackingInput:: callStep / 2 ;
63
+ deprecated predicate callStep = TypeTrackingImpl:: TypeTrackingInput:: callStep / 2 ;
65
64
66
65
/** Holds if `nodeFrom` steps to `nodeTo` by being returned from a call. */
67
- predicate returnStep = TypeTrackingImpl:: TypeTrackingInput:: returnStep / 2 ;
66
+ deprecated predicate returnStep = TypeTrackingImpl:: TypeTrackingInput:: returnStep / 2 ;
68
67
69
68
/**
70
69
* Holds if `nodeFrom` is being written to the `content` content of the object in `nodeTo`.
71
70
*/
72
- predicate basicStoreStep = TypeTrackingImpl:: TypeTrackingInput:: storeStep / 3 ;
71
+ deprecated predicate basicStoreStep = TypeTrackingImpl:: TypeTrackingInput:: storeStep / 3 ;
73
72
74
73
/**
75
74
* Holds if `nodeTo` is the result of accessing the `content` content of `nodeFrom`.
76
75
*/
77
- predicate basicLoadStep = TypeTrackingImpl:: TypeTrackingInput:: loadStep / 3 ;
76
+ deprecated predicate basicLoadStep = TypeTrackingImpl:: TypeTrackingInput:: loadStep / 3 ;
78
77
79
78
/**
80
79
* Holds if the `loadContent` of `nodeFrom` is stored in the `storeContent` of `nodeTo`.
81
80
*/
82
- predicate basicLoadStoreStep = TypeTrackingImpl:: TypeTrackingInput:: loadStoreStep / 4 ;
81
+ deprecated predicate basicLoadStoreStep = TypeTrackingImpl:: TypeTrackingInput:: loadStoreStep / 4 ;
83
82
84
83
/**
85
84
* Holds if type-tracking should step from `nodeFrom` to `nodeTo` but block flow of contents matched by `filter` through here.
0 commit comments