Skip to content

Commit daf04f1

Browse files
committed
JS: Call forceLocal on the output of Stage 1
1 parent 271567c commit daf04f1

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

javascript/ql/lib/semmle/javascript/ApiGraphs.qll

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1539,6 +1539,25 @@ module API {
15391539

15401540
private module Stage1 = Stage<Stage1Input>;
15411541

1542+
overlay[local]
1543+
private module Stage1Local {
1544+
predicate use(TApiNode node, DataFlow::Node ref) = forceLocal(Stage1::use/2)(node, ref)
1545+
1546+
predicate rhs(TApiNode node, DataFlow::Node def) = forceLocal(Stage1::rhs/2)(node, def)
1547+
1548+
DataFlow::SourceNode trackUseNode(DataFlow::SourceNode nd) =
1549+
forceLocal(Stage1::trackUseNode/1)(nd, result)
1550+
1551+
DataFlow::SourceNode trackDefNode(DataFlow::SourceNode nd) =
1552+
forceLocal(Stage1::trackDefNode/1)(nd, result)
1553+
1554+
predicate edge(TApiNode pred, Label::ApiLabel lbl, TApiNode succ) =
1555+
forceLocal(Stage1::edge/3)(pred, lbl, succ)
1556+
1557+
DataFlow::InvokeNode getAPromisifiedInvocation(TApiNode callee, int bound, TApiNode succ) =
1558+
forceLocal(Stage1::getAPromisifiedInvocation/3)(callee, bound, succ, result)
1559+
}
1560+
15421561
cached
15431562
private module Cached {
15441563
cached

0 commit comments

Comments
 (0)