Files
codeql/java/ql/test/library-tests/controlflow/dominance/dominatorExists.ql
Owen Mansel-Chan 0f3dd6d8f1 Java: IPA the CFG
2024-12-10 15:26:11 +00:00

17 lines
441 B
Plaintext

// Every reachable node has a dominator
import default
import semmle.code.java.controlflow.Dominance
/** transitive dominance */
ControlFlowNode reachableIn(Method func) {
result = func.getBody().getControlFlowNode() or
result = reachableIn(func).getASuccessor()
}
from Method func, ControlFlowNode node
where
node = reachableIn(func) and
node != func.getBody().getControlFlowNode() and
not iDominates(_, node)
select func, node