@@ -19,7 +19,7 @@ module SsaInput implements SsaImplCommon::InputSig<Location> {
19
19
20
20
class ExitBasicBlock extends BasicBlock , BasicBlocks:: ExitBasicBlock { }
21
21
22
- class SourceVariable = LocalVariable ;
22
+ class SourceVariable = LocalScopeVariable ;
23
23
24
24
/**
25
25
* Holds if the statement at index `i` of basic block `bb` contains a write to variable `v`.
@@ -34,7 +34,7 @@ module SsaInput implements SsaImplCommon::InputSig<Location> {
34
34
certain = true
35
35
}
36
36
37
- predicate variableRead ( BasicBlock bb , int i , LocalVariable v , boolean certain ) {
37
+ predicate variableRead ( BasicBlock bb , int i , SourceVariable v , boolean certain ) {
38
38
variableReadActual ( bb , i , v ) and
39
39
certain = true
40
40
}
@@ -59,7 +59,7 @@ predicate uninitializedWrite(Cfg::EntryBasicBlock bb, int i, LocalVariable v) {
59
59
}
60
60
61
61
/** Holds if `v` is read at index `i` in basic block `bb`. */
62
- private predicate variableReadActual ( Cfg:: BasicBlock bb , int i , LocalVariable v ) {
62
+ private predicate variableReadActual ( Cfg:: BasicBlock bb , int i , LocalScopeVariable v ) {
63
63
exists ( VarReadAccess read |
64
64
read .getVariable ( ) = v and
65
65
read = bb .getNode ( i ) .getAstNode ( )
@@ -152,7 +152,7 @@ private module Cached {
152
152
*/
153
153
cached
154
154
predicate variableWriteActual (
155
- Cfg:: BasicBlock bb , int i , LocalVariable v , VariableWriteAccessCfgNode write
155
+ Cfg:: BasicBlock bb , int i , LocalScopeVariable v , VarWriteAccessCfgNode write
156
156
) {
157
157
exists ( Cfg:: CfgNode n |
158
158
write .getVariable ( ) = v and
@@ -164,7 +164,7 @@ private module Cached {
164
164
165
165
cached
166
166
VarReadAccessCfgNode getARead ( Definition def ) {
167
- exists ( LocalVariable v , Cfg:: BasicBlock bb , int i |
167
+ exists ( SsaInput :: SourceVariable v , Cfg:: BasicBlock bb , int i |
168
168
Impl:: ssaDefReachesRead ( v , def , bb , i ) and
169
169
variableReadActual ( bb , i , v ) and
170
170
result = bb .getNode ( i )
0 commit comments