Skip to content

Commit 683f853

Browse files
committed
Dataflow: Fix another bad join order.
1 parent 017bf68 commit 683f853

File tree

24 files changed

+288
-216
lines changed

24 files changed

+288
-216
lines changed

cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -841,9 +841,10 @@ private module Stage2 {
841841
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
842842
Configuration config
843843
) {
844-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
845-
PrevStage::callMayFlowThroughRev(call, config) and
846-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
844+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
845+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
846+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
847+
pragma[only_bind_into](config))
847848
}
848849

849850
/**
@@ -1515,9 +1516,10 @@ private module Stage3 {
15151516
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
15161517
Configuration config
15171518
) {
1518-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
1519-
PrevStage::callMayFlowThroughRev(call, config) and
1520-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
1519+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
1520+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
1521+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
1522+
pragma[only_bind_into](config))
15211523
}
15221524

15231525
/**
@@ -2270,9 +2272,10 @@ private module Stage4 {
22702272
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
22712273
Configuration config
22722274
) {
2273-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
2274-
PrevStage::callMayFlowThroughRev(call, config) and
2275-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
2275+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
2276+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
2277+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
2278+
pragma[only_bind_into](config))
22762279
}
22772280

22782281
/**

cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -841,9 +841,10 @@ private module Stage2 {
841841
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
842842
Configuration config
843843
) {
844-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
845-
PrevStage::callMayFlowThroughRev(call, config) and
846-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
844+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
845+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
846+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
847+
pragma[only_bind_into](config))
847848
}
848849

849850
/**
@@ -1515,9 +1516,10 @@ private module Stage3 {
15151516
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
15161517
Configuration config
15171518
) {
1518-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
1519-
PrevStage::callMayFlowThroughRev(call, config) and
1520-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
1519+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
1520+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
1521+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
1522+
pragma[only_bind_into](config))
15211523
}
15221524

15231525
/**
@@ -2270,9 +2272,10 @@ private module Stage4 {
22702272
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
22712273
Configuration config
22722274
) {
2273-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
2274-
PrevStage::callMayFlowThroughRev(call, config) and
2275-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
2275+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
2276+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
2277+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
2278+
pragma[only_bind_into](config))
22762279
}
22772280

22782281
/**

cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -841,9 +841,10 @@ private module Stage2 {
841841
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
842842
Configuration config
843843
) {
844-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
845-
PrevStage::callMayFlowThroughRev(call, config) and
846-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
844+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
845+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
846+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
847+
pragma[only_bind_into](config))
847848
}
848849

849850
/**
@@ -1515,9 +1516,10 @@ private module Stage3 {
15151516
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
15161517
Configuration config
15171518
) {
1518-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
1519-
PrevStage::callMayFlowThroughRev(call, config) and
1520-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
1519+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
1520+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
1521+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
1522+
pragma[only_bind_into](config))
15211523
}
15221524

15231525
/**
@@ -2270,9 +2272,10 @@ private module Stage4 {
22702272
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
22712273
Configuration config
22722274
) {
2273-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
2274-
PrevStage::callMayFlowThroughRev(call, config) and
2275-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
2275+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
2276+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
2277+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
2278+
pragma[only_bind_into](config))
22762279
}
22772280

22782281
/**

cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -841,9 +841,10 @@ private module Stage2 {
841841
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
842842
Configuration config
843843
) {
844-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
845-
PrevStage::callMayFlowThroughRev(call, config) and
846-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
844+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
845+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
846+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
847+
pragma[only_bind_into](config))
847848
}
848849

849850
/**
@@ -1515,9 +1516,10 @@ private module Stage3 {
15151516
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
15161517
Configuration config
15171518
) {
1518-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
1519-
PrevStage::callMayFlowThroughRev(call, config) and
1520-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
1519+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
1520+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
1521+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
1522+
pragma[only_bind_into](config))
15211523
}
15221524

15231525
/**
@@ -2270,9 +2272,10 @@ private module Stage4 {
22702272
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
22712273
Configuration config
22722274
) {
2273-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
2274-
PrevStage::callMayFlowThroughRev(call, config) and
2275-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
2275+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
2276+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
2277+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
2278+
pragma[only_bind_into](config))
22762279
}
22772280

22782281
/**

cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -841,9 +841,10 @@ private module Stage2 {
841841
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
842842
Configuration config
843843
) {
844-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
845-
PrevStage::callMayFlowThroughRev(call, config) and
846-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
844+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
845+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
846+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
847+
pragma[only_bind_into](config))
847848
}
848849

849850
/**
@@ -1515,9 +1516,10 @@ private module Stage3 {
15151516
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
15161517
Configuration config
15171518
) {
1518-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
1519-
PrevStage::callMayFlowThroughRev(call, config) and
1520-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
1519+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
1520+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
1521+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
1522+
pragma[only_bind_into](config))
15211523
}
15221524

15231525
/**
@@ -2270,9 +2272,10 @@ private module Stage4 {
22702272
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
22712273
Configuration config
22722274
) {
2273-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
2274-
PrevStage::callMayFlowThroughRev(call, config) and
2275-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
2275+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
2276+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
2277+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
2278+
pragma[only_bind_into](config))
22762279
}
22772280

22782281
/**

cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -841,9 +841,10 @@ private module Stage2 {
841841
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
842842
Configuration config
843843
) {
844-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
845-
PrevStage::callMayFlowThroughRev(call, config) and
846-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
844+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
845+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
846+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
847+
pragma[only_bind_into](config))
847848
}
848849

849850
/**
@@ -1515,9 +1516,10 @@ private module Stage3 {
15151516
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
15161517
Configuration config
15171518
) {
1518-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
1519-
PrevStage::callMayFlowThroughRev(call, config) and
1520-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
1519+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
1520+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
1521+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
1522+
pragma[only_bind_into](config))
15211523
}
15221524

15231525
/**
@@ -2270,9 +2272,10 @@ private module Stage4 {
22702272
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
22712273
Configuration config
22722274
) {
2273-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
2274-
PrevStage::callMayFlowThroughRev(call, config) and
2275-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
2275+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
2276+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
2277+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
2278+
pragma[only_bind_into](config))
22762279
}
22772280

22782281
/**

cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -841,9 +841,10 @@ private module Stage2 {
841841
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
842842
Configuration config
843843
) {
844-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
845-
PrevStage::callMayFlowThroughRev(call, config) and
846-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
844+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
845+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
846+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
847+
pragma[only_bind_into](config))
847848
}
848849

849850
/**
@@ -1515,9 +1516,10 @@ private module Stage3 {
15151516
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
15161517
Configuration config
15171518
) {
1518-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
1519-
PrevStage::callMayFlowThroughRev(call, config) and
1520-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
1519+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
1520+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
1521+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
1522+
pragma[only_bind_into](config))
15211523
}
15221524

15231525
/**
@@ -2270,9 +2272,10 @@ private module Stage4 {
22702272
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
22712273
Configuration config
22722274
) {
2273-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
2274-
PrevStage::callMayFlowThroughRev(call, config) and
2275-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
2275+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
2276+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
2277+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
2278+
pragma[only_bind_into](config))
22762279
}
22772280

22782281
/**

cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -841,9 +841,10 @@ private module Stage2 {
841841
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
842842
Configuration config
843843
) {
844-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
845-
PrevStage::callMayFlowThroughRev(call, config) and
846-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
844+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
845+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
846+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
847+
pragma[only_bind_into](config))
847848
}
848849

849850
/**
@@ -1515,9 +1516,10 @@ private module Stage3 {
15151516
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
15161517
Configuration config
15171518
) {
1518-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
1519-
PrevStage::callMayFlowThroughRev(call, config) and
1520-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
1519+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
1520+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
1521+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
1522+
pragma[only_bind_into](config))
15211523
}
15221524

15231525
/**
@@ -2270,9 +2272,10 @@ private module Stage4 {
22702272
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
22712273
Configuration config
22722274
) {
2273-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
2274-
PrevStage::callMayFlowThroughRev(call, config) and
2275-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
2275+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
2276+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
2277+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
2278+
pragma[only_bind_into](config))
22762279
}
22772280

22782281
/**

cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -841,9 +841,10 @@ private module Stage2 {
841841
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
842842
Configuration config
843843
) {
844-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
845-
PrevStage::callMayFlowThroughRev(call, config) and
846-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
844+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
845+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
846+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
847+
pragma[only_bind_into](config))
847848
}
848849

849850
/**
@@ -1515,9 +1516,10 @@ private module Stage3 {
15151516
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
15161517
Configuration config
15171518
) {
1518-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
1519-
PrevStage::callMayFlowThroughRev(call, config) and
1520-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
1519+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
1520+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
1521+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
1522+
pragma[only_bind_into](config))
15211523
}
15221524

15231525
/**
@@ -2270,9 +2272,10 @@ private module Stage4 {
22702272
DataFlowCall call, ReturnNodeExt node1, Node node2, boolean allowsFieldFlow,
22712273
Configuration config
22722274
) {
2273-
flowOutOfCall(call, node1, node2, allowsFieldFlow, config) and
2274-
PrevStage::callMayFlowThroughRev(call, config) and
2275-
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _, config)
2275+
flowOutOfCall(call, node1, node2, allowsFieldFlow, pragma[only_bind_into](config)) and
2276+
PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and
2277+
PrevStage::parameterMayFlowThrough(_, getNodeEnclosingCallable(node1), _,
2278+
pragma[only_bind_into](config))
22762279
}
22772280

22782281
/**

0 commit comments

Comments
 (0)