Skip to content

Commit 393fb02

Browse files
criemenaschackmull
authored andcommitted
Fix undesirable join order.
1 parent ee55031 commit 393fb02

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

java/ql/src/semmle/code/java/dataflow/internal/DataFlowImplCommon.qll

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -687,6 +687,11 @@ private module ImplCommon {
687687
override predicate validFor(Node n) { any() }
688688
}
689689

690+
pragma[noinline]
691+
private predicate hasUnreachableNode(DataFlowCall call, DataFlowCallable callable) {
692+
isUnreachableInCall(any(Node n | n.getEnclosingCallable() = callable), call)
693+
}
694+
690695
class LocalCallContextSpecificCall extends LocalCallContext, TSpecificLocalCall {
691696
LocalCallContextSpecificCall() { this = TSpecificLocalCall(call) }
692697

@@ -701,9 +706,7 @@ private module ImplCommon {
701706
}
702707

703708
override predicate validFor(Node n) {
704-
exists(Node n2 |
705-
isUnreachableInCall(n2, call) and n2.getEnclosingCallable() = n.getEnclosingCallable()
706-
)
709+
hasUnreachableNode(call, n.getEnclosingCallable())
707710
}
708711
}
709712

0 commit comments

Comments
 (0)