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

Class UnreachableBasicBlock

An unreachable basic block is one that is dominated by a condition that never holds.

Import path

import semmle.code.java.controlflow.UnreachableBlocks

Direct supertypes

Indirect supertypes

Inherited predicates

bbDominates

DEPRECATED: Use dominates instead.

from BasicBlock
bbPostDominates

DEPRECATED: Use postDominates instead.

from BasicBlock
bbStrictlyDominates

DEPRECATED: Use strictlyDominates instead.

from BasicBlock
bbStrictlyPostDominates

DEPRECATED: Use strictlyPostDominates instead.

from BasicBlock
dominates

Holds if this basic block dominates basic block bb.

from BasicBlock
edgeDominates

Holds if the edge with successor type s out of this basic block is a dominating edge for dominated.

from BasicBlock
getABBPredecessor

DEPRECATED: Use getAPredecessor instead.

from BasicBlock
getABBSuccessor

DEPRECATED: Use getASuccessor instead.

from BasicBlock
getANode

Gets a control flow node in this basic block.

from BasicBlock
getAPredecessor

Gets an immediate predecessor of this basic block, if any.

from BasicBlock
getAPredecessor

Gets an immediate predecessor of this basic block of a given type, if any.

from BasicBlock
getASuccessor

Gets an immediate successor of this basic block, if any.

from BasicBlock
getASuccessor

Gets an immediate successor of this basic block of a given type, if any.

from BasicBlock
getEnclosingCallable

Gets the immediately enclosing callable whose body contains this node.

from BasicBlock
getFirstNode

Gets the first control flow node in this basic block.

from BasicBlock
getImmediateDominator

Gets the basic block that immediately dominates this basic block, if any.

from BasicBlock
getLastNode

Gets the last control flow node in this basic block.

from BasicBlock
getLocation

Gets the location of this basic block.

from BasicBlock
getNode

Gets the control flow node at a specific (zero-indexed) position in this basic block.

from BasicBlock
getScope

Gets the CFG scope of this basic block.

from BasicBlock
immediatelyDominates

Holds if this basic block immediately dominates basic block bb.

from BasicBlock
inDominanceFrontier

Holds if df is in the dominance frontier of this basic block. That is, this basic block dominates a predecessor of df, but does not dominate df itself. I.e., it is equivaluent to: this.dominates(df.getAPredecessor()) and not this.strictlyDominates(df)

from BasicBlock
inLoop

Holds if this basic block is in a loop in the control flow graph.

from BasicBlock
length

Gets the length of this basic block.

from BasicBlock
postDominates

Holds if this basic block post-dominates basic block bb.

from BasicBlock
strictlyDominates

Holds if this basic block strictly dominates basic block bb.

from BasicBlock
strictlyPostDominates

Holds if this basic block strictly post-dominates basic block bb.

from BasicBlock
toString

Gets a textual representation of this basic block.

from BasicBlock

Charpred