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

17 lines
521 B
Plaintext

// All nodes should be dominated by their associated start node
import default
import semmle.code.java.controlflow.Dominance
ControlFlowNode reachableIn(Method func) {
result = func.getBody().getControlFlowNode() or
result = reachableIn(func).getASuccessor()
}
from Method func, ControlFlowNode entry, ControlFlowNode node
where
func.getBody().getControlFlowNode() = entry and
reachableIn(func) = node and
entry != node and
not strictlyDominates(func.getBody().getControlFlowNode(), node)
select func, node