Class ControlFlowNode
java.lang.Object
com.strobel.assembler.flowanalysis.ControlFlowNode
- All Implemented Interfaces:
Comparable<ControlFlowNode>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate final classprivate final classprivate final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final intprivate ControlFlowNodeprivate final Set<ControlFlowNode> private final List<ControlFlowNode> private Instructionprivate final ControlFlowNodeprivate ExceptionHandlerprivate ControlFlowNodeprivate final List<ControlFlowEdge> private final ControlFlowNodeTypeprivate final intprivate final List<ControlFlowEdge> private Instructionprivate Objectprivate booleanstatic 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 TypeMethodDescriptionintfinal booleandominates(ControlFlowNode node) final intfinal ControlFlowNodefinal Set<ControlFlowNode> final List<ControlFlowNode> final InstructiongetEnd()final ControlFlowNodefinal ExceptionHandlerfinal ControlFlowNodefinal List<ControlFlowEdge> final Iterable<Instruction> final ControlFlowNodeTypefinal intfinal List<ControlFlowEdge> final Iterable<ControlFlowNode> final InstructiongetStart()final Iterable<ControlFlowNode> final Objectfinal booleanfinal booleanfinal booleanprecedes(ControlFlowNode other) final voidsetCopyFrom(ControlFlowNode copyFrom) final voidsetEnd(Instruction end) final voidsetExceptionHandler(ExceptionHandler exceptionHandler) final voidsetImmediateDominator(ControlFlowNode immediateDominator) final voidsetStart(Instruction start) final voidsetUserData(Object userData) final voidsetVisited(boolean visited) final booleansucceeds(ControlFlowNode other) final StringtoString()final voidtraversePostOrder(Function<ControlFlowNode, Iterable<ControlFlowNode>> children, Consumer<ControlFlowNode> visitAction) final voidtraversePreOrder(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:
compareToin interfaceComparable<ControlFlowNode>
-