Class ControlFlowNode
java.lang.Object
com.strobel.assembler.flowanalysis.ControlFlowNode
- All Implemented Interfaces:
Comparable<ControlFlowNode>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate final class
private final class
private final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int
private ControlFlowNode
private final Set
<ControlFlowNode> private final List
<ControlFlowNode> private Instruction
private final ControlFlowNode
private ExceptionHandler
private ControlFlowNode
private final List
<ControlFlowEdge> private final ControlFlowNodeType
private final int
private final List
<ControlFlowEdge> private Instruction
private Object
private boolean
static final Predicate
<ControlFlowNode> -
Constructor Summary
ConstructorsConstructorDescriptionControlFlowNode
(int blockIndex, int offset, ControlFlowNodeType nodeType) ControlFlowNode
(int blockIndex, ExceptionHandler exceptionHandler, ControlFlowNode endFinallyNode) ControlFlowNode
(int blockIndex, Instruction start, Instruction end) -
Method Summary
Modifier and TypeMethodDescriptionint
final boolean
dominates
(ControlFlowNode node) final int
final ControlFlowNode
final Set
<ControlFlowNode> final List
<ControlFlowNode> final Instruction
getEnd()
final ControlFlowNode
final ExceptionHandler
final ControlFlowNode
final List
<ControlFlowEdge> final Iterable
<Instruction> final ControlFlowNodeType
final int
final List
<ControlFlowEdge> final Iterable
<ControlFlowNode> final Instruction
getStart()
final Iterable
<ControlFlowNode> final Object
final boolean
final boolean
final boolean
precedes
(ControlFlowNode other) final void
setCopyFrom
(ControlFlowNode copyFrom) final void
setEnd
(Instruction end) final void
setExceptionHandler
(ExceptionHandler exceptionHandler) final void
setImmediateDominator
(ControlFlowNode immediateDominator) final void
setStart
(Instruction start) final void
setUserData
(Object userData) final void
setVisited
(boolean visited) final boolean
succeeds
(ControlFlowNode other) final String
toString()
final void
traversePostOrder
(Function<ControlFlowNode, Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction) final void
traversePreOrder
(Function<ControlFlowNode, Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction)
-
Field Details
-
_blockIndex
private final int _blockIndex -
_offset
private final int _offset -
_nodeType
-
_endFinallyNode
-
_dominatorTreeChildren
-
_dominanceFrontier
-
_incoming
-
_outgoing
-
_visited
private boolean _visited -
_copyFrom
-
_immediateDominator
-
_start
-
_end
-
_exceptionHandler
-
_userData
-
REACHABLE_PREDICATE
-
-
Constructor Details
-
ControlFlowNode
-
ControlFlowNode
-
ControlFlowNode
public ControlFlowNode(int blockIndex, ExceptionHandler exceptionHandler, ControlFlowNode endFinallyNode)
-
-
Method Details
-
getBlockIndex
public final int getBlockIndex() -
getOffset
public final int getOffset() -
getNodeType
-
getEndFinallyNode
-
getDominatorTreeChildren
-
getDominanceFrontier
-
getIncoming
-
getOutgoing
-
isVisited
public final boolean isVisited() -
isReachable
public final boolean isReachable() -
getCopyFrom
-
getImmediateDominator
-
getStart
-
getEnd
-
getExceptionHandler
-
getUserData
-
setVisited
public final void setVisited(boolean visited) -
setCopyFrom
-
setImmediateDominator
-
setStart
-
setEnd
-
setExceptionHandler
-
setUserData
-
succeeds
-
precedes
-
getPredecessors
-
getSuccessors
-
getInstructions
-
traversePreOrder
public final void traversePreOrder(Function<ControlFlowNode, Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction) -
traversePostOrder
public final void traversePostOrder(Function<ControlFlowNode, Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction) -
dominates
-
toString
-
compareTo
- Specified by:
compareTo
in interfaceComparable<ControlFlowNode>
-