Files
codeql/csharp/ql/test/library-tests/controlflow/graph/Condition.ql
Anders Schack-Mulligen ff978d1a8c C#: Replace CFG.
2026-04-10 15:47:13 +02:00

15 lines
493 B
Plaintext

import csharp
import ControlFlow
query predicate conditionBlock(BasicBlock cb, BasicBlock controlled, boolean testIsTrue) {
cb.edgeDominates(controlled, any(ConditionalSuccessor s | testIsTrue = s.getValue()))
}
ControlFlowNode successor(ControlFlowNode node, boolean kind) {
result = node.getASuccessor(any(BooleanSuccessor s | s.getValue() = kind))
}
query predicate conditionFlow(ControlFlowNode node, ControlFlowNode successor, boolean kind) {
successor = successor(node, kind)
}