Skip to content

Commit 242f12d

Browse files
committed
SSA: Remove variable capture reference from shared class.
1 parent be626bf commit 242f12d

File tree

1 file changed

+1
-25
lines changed

1 file changed

+1
-25
lines changed

shared/ssa/codeql/ssa/Ssa.qll

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1555,17 +1555,6 @@ module Make<
15551555
}
15561556

15571557
predicate explicitWrite(VariableWrite w, BasicBlock bb, int i, SourceVariable v);
1558-
1559-
/**
1560-
* Holds if `closureVar` is a local variable inside a closure that captures
1561-
* `captured`, which is the same variable in its declaring scope. The
1562-
* capture occurs at index `i` in basic block `bb`, and
1563-
* `variableRead(bb, i, captured, false)` must hold in order to include a
1564-
* pseudo-read of the captured variable at the point of capture.
1565-
*/
1566-
predicate variableCapture(
1567-
SourceVariable captured, SourceVariable closureVar, BasicBlock bb, int i
1568-
);
15691558
}
15701559

15711560
module MakeSsa<SsaInputSig SsaInput> implements
@@ -1593,15 +1582,6 @@ module Make<
15931582
variableRead(bb, i, v, false)
15941583
}
15951584

1596-
/** Holds if `init` is a closure variable that captures the value of `capturedvar`. */
1597-
cached
1598-
predicate captures(SsaImplicitEntryDefinition init, Definition capturedvar) {
1599-
exists(BasicBlock bb, int i |
1600-
ssaDefReachesRead(_, capturedvar, bb, i) and
1601-
variableCapture(capturedvar.getSourceVariable(), init.getSourceVariable(), bb, i)
1602-
)
1603-
}
1604-
16051585
cached
16061586
predicate isLiveAtEndOfBlock(Definition def, BasicBlock bb) {
16071587
ssaDefReachesEndOfBlock(bb, def, _)
@@ -1665,8 +1645,7 @@ module Make<
16651645
*/
16661646
private SsaDefinition getAPhiInputOrPriorDefinition() {
16671647
result = this.(SsaPhiDefinition).getAnInput() or
1668-
result = this.(SsaUncertainWrite).getPriorDefinition() or
1669-
this.(SsaImplicitEntryDefinition).captures(result)
1648+
result = this.(SsaUncertainWrite).getPriorDefinition()
16701649
}
16711650

16721651
/**
@@ -1755,9 +1734,6 @@ module Make<
17551734
*/
17561735
class SsaImplicitEntryDefinition extends SsaImplicitWrite {
17571736
SsaImplicitEntryDefinition() { this.definesAt(_, any(EntryBasicBlock bb), -1) }
1758-
1759-
/** Holds if this is a closure definition that captures the value of `capturedvar`. */
1760-
predicate captures(SsaDefinition capturedvar) { captures(this, capturedvar) }
17611737
}
17621738

17631739
/** An SSA definition that represents an uncertain variable update. */

0 commit comments

Comments
 (0)