Class ControlFlowGraph
- java.lang.Object
-
- com.strobel.assembler.flowanalysis.ControlFlowGraph
-
public final class ControlFlowGraph extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<ControlFlowNode>_nodesprivate static java.util.regex.PatternSAFE_PATTERN
-
Constructor Summary
Constructors Constructor Description ControlFlowGraph(ControlFlowNode... nodes)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcomputeDominance()voidcomputeDominance(BooleanBox cancelled)voidcomputeDominanceFrontier()private static java.lang.StringescapeGraphViz(java.lang.String text)private static java.lang.StringescapeGraphViz(java.lang.String text, boolean quote)voidexport(java.io.File path)static ControlFlowNodefindCommonDominator(ControlFlowNode a, ControlFlowNode b)ControlFlowNodegetEntryPoint()ControlFlowNodegetExceptionalExit()java.util.List<ControlFlowNode>getNodes()ControlFlowNodegetRegularExit()private static java.lang.StringnodeName(ControlFlowNode node)voidresetVisited()
-
-
-
Field Detail
-
_nodes
private final java.util.List<ControlFlowNode> _nodes
-
SAFE_PATTERN
private static final java.util.regex.Pattern SAFE_PATTERN
-
-
Constructor Detail
-
ControlFlowGraph
public ControlFlowGraph(ControlFlowNode... nodes)
-
-
Method Detail
-
getEntryPoint
public final ControlFlowNode getEntryPoint()
-
getRegularExit
public final ControlFlowNode getRegularExit()
-
getExceptionalExit
public final ControlFlowNode getExceptionalExit()
-
getNodes
public final java.util.List<ControlFlowNode> getNodes()
-
resetVisited
public final void resetVisited()
-
computeDominance
public final void computeDominance()
-
computeDominance
public final void computeDominance(BooleanBox cancelled)
-
computeDominanceFrontier
public final void computeDominanceFrontier()
-
findCommonDominator
public static ControlFlowNode findCommonDominator(ControlFlowNode a, ControlFlowNode b)
-
export
public final void export(java.io.File path)
-
nodeName
private static java.lang.String nodeName(ControlFlowNode node)
-
escapeGraphViz
private static java.lang.String escapeGraphViz(java.lang.String text)
-
escapeGraphViz
private static java.lang.String escapeGraphViz(java.lang.String text, boolean quote)
-
-