sandmark.util.controlflowgraph
Class MethodCFG
java.lang.Object
|
+--sandmark.util.controlflowgraph.Graph
|
+--sandmark.util.controlflowgraph.MethodCFG
- public class MethodCFG
- extends Graph
Constructor Summary |
MethodCFG(de.fub.bytecode.generic.MethodGen mg)
Constructor. |
Methods inherited from class sandmark.util.controlflowgraph.Graph |
addNode, buildRootList, getPostOrder, getPostOrderIndex, getPreds, getPreOrder, getPreOrderIndex, getSuccs, hasEdge, hasNode, nodes, removeNode, removeUnreachable, reverseRoots, roots, size, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
mg
de.fub.bytecode.generic.MethodGen mg
il
de.fub.bytecode.generic.InstructionList il
exceptionHandlers
de.fub.bytecode.generic.CodeExceptionGen[] exceptionHandlers
source
BasicBlock source
sink
BasicBlock sink
initial
BasicBlock initial
leaders
java.util.ArrayList leaders
blockList
java.util.ArrayList blockList
loopTree
Graph loopTree
domEdgeModCount
int domEdgeModCount
loopEdgeModCount
int loopEdgeModCount
maxLoopDepth
int maxLoopDepth
MethodCFG
public MethodCFG(de.fub.bytecode.generic.MethodGen mg)
- Constructor.
methodGen
public de.fub.bytecode.generic.MethodGen methodGen()
maxLoopDepth
public int maxLoopDepth()
newBlock
public BasicBlock newBlock()
- Creates a new BasicBlock with the next available label.
newBlock
BasicBlock newBlock(de.fub.bytecode.generic.InstructionHandle ih)
addEdge
public void addEdge(GraphNode v,
GraphNode w)
- Overrides:
addEdge
in class Graph
removeEdge
public void removeEdge(GraphNode v,
GraphNode w)
- Overrides:
removeEdge
in class Graph
printCFG
public void printCFG()
source
public BasicBlock source()
sink
public BasicBlock sink()
init
public BasicBlock init()
instructionList
public de.fub.bytecode.generic.InstructionList instructionList()