CodeQL library for Java/Kotlin
codeql/java-all 0.8.12 (changelog, source)
Search

Module Dominance

Provides classes and predicates for control-flow graph dominance.

Import path

import semmle.code.java.controlflow.Dominance

Imports

java

Provides all default Java QL imports.

Predicates

bbDominates

Holds if dom dominates node. (This is reflexive.)

bbIDominates

The immediate dominance relation for basic blocks.

bbIPostDominates

The immediate post-dominance relation on basic blocks.

bbPostDominates

Holds if dom post-dominates node. (This is reflexive.)

bbStrictlyDominates

Holds if dom strictly dominates node.

bbStrictlyPostDominates

Holds if dom strictly post-dominates node.

dominanceFrontier

The dominance frontier relation for basic blocks.

dominates

Holds if dom dominates node. (This is reflexive.)

dominatingEdge

Holds if (bb1, bb2) is an edge that dominates bb2, that is, all other predecessors of bb2 are dominated by bb2. This implies that bb1 is the immediate dominator of bb2.

hasDominanceInformation

Holds if the dominance relation is calculated for bb.

iDominates

Immediate dominance relation on control-flow graph nodes.

postDominates

Holds if dom post-dominates node. (This is reflexive.)

strictlyDominates

Holds if dom strictly dominates node.

strictlyPostDominates

Holds if dom strictly post-dominates node.