public class EnhancedUnitGraph extends UnitGraph
Modifier and Type | Field and Description |
---|---|
protected java.util.Hashtable<Unit,Unit> |
handler2header |
protected java.util.Hashtable<Unit,Unit> |
try2nop |
body, heads, method, tails, unitChain, unitToPreds, unitToSuccs
Constructor and Description |
---|
EnhancedUnitGraph(Body body) |
Modifier and Type | Method and Description |
---|---|
protected void |
addAuxiliaryExceptionalEdges()
Add an exceptional flow edge for each handler from the corresponding
auxiliary nop node to the beginning of the handler.
|
protected void |
handleExplicitThrowEdges() |
protected void |
handleMultipleReturns()
This method adds a STOP node to the graph, if necessary, to make the CFG
single-tailed.
|
protected void |
removeBogusHeads()
This method removes all the heads in the CFG except the one that
corresponds to the first unit in the method.
|
addEdge, buildHeadsAndTails, buildUnexceptionalEdges, combineMapValues, getBody, getExtendedBasicBlockPathBetween, getHeads, getPredsOf, getSuccsOf, getTails, iterator, size, toString
public EnhancedUnitGraph(Body body)
protected void handleMultipleReturns()
protected void removeBogusHeads()
protected void handleExplicitThrowEdges()
protected void addAuxiliaryExceptionalEdges()