Class ControlFlowGraph::ControlFlow::Node

A control flow node.

Either a callable entry node (EntryNode), a callable exit node (ExitNode), or a control flow node for a control flow element, that is, an expression or a statement (ElementNode).

A control flow node is a node in the control flow graph (CFG). There is a many-to-one relationship between ElementNodes and ControlFlowElements. This allows control flow splitting, for example modeling the control flow through finally blocks.

Only nodes that can be reached from the callable entry point are included in the CFG.

Direct supertypes

Known direct subtypes

Predicates

dominates

Holds if this node dominates that node.

getAFalseSuccessor

Gets an immediate false successor, if any.

getANonNullSuccessor

Gets an immediate non-null successor, if any.

getANullSuccessor

Gets an immediate null successor, if any.

getAPredecessor

Gets an immediate predecessor, if any.

getAPredecessorByType

Gets an immediate predecessor node of a given flow type, if any.

getASuccessor

Gets an immediate successor, if any.

getASuccessorByType

Gets a successor node of a given flow type, if any.

getATrueSuccessor

Gets an immediate true successor, if any.

getBasicBlock

Gets the basic block that this control flow node belongs to.

getElement

Gets the control flow element that this node corresponds to, if any.

getLocation

Gets the location of this control flow node.

isCondition

Holds if this control flow node has conditional successors.

isJoin

Holds if this node has more than one predecessor.

postDominates

Holds if this node post-dominates that node.

strictlyDominates

Holds if this node strictly dominates that node.

strictlyPostDominates

Holds if this node strictly post-dominates that node.

toString

Gets a textual representation of this control flow node.