|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--soot.toolkits.graph.UnitGraph
Represents a CFG where the nodes are Unit instances.
Unit
,
BriefUnitGraph
Field Summary | |
protected Body |
body
|
protected SootMethod |
method
|
protected Chain |
unitChain
|
protected java.util.Map |
unitToPreds
|
protected java.util.Map |
unitToSuccs
|
Constructor Summary | |
UnitGraph(Body unitBody,
boolean addExceptionEdges)
Constructs a graph for the units found in the provided Body instance. |
|
UnitGraph(Body unitBody,
boolean addExceptionEdges,
boolean dontAddEdgeFromStmtBeforeAreaOfProtectionToCatchBlock)
Constructs a graph for the units found in the provided Body instance. |
Method Summary | |
Body |
getBody()
|
java.util.List |
getExtendedBasicBlockPathBetween(Unit from,
Unit to)
Look for a path in graph, from def to use. |
java.util.List |
getHeads()
Returns a list of entry points for this graph. |
java.util.List |
getPredsOf(java.lang.Object s)
Returns a list of predecessors for the given node in the graph. |
java.util.List |
getSuccsOf(java.lang.Object s)
Returns a list of successors for the given node in the graph. |
java.util.List |
getTails()
Returns a list of exit points for this graph. |
java.util.Iterator |
iterator()
Returns an iterator for the nodes in this graph. |
int |
size()
Returns the node count for this graph. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Field Detail |
protected java.util.Map unitToSuccs
protected java.util.Map unitToPreds
protected SootMethod method
protected Body body
protected Chain unitChain
Constructor Detail |
public UnitGraph(Body unitBody, boolean addExceptionEdges)
body
- The underlying body we want to make a
graph for.addExceptionEdges
- If true then the control flow edges associated with
exceptions are added.Body
,
Unit
public UnitGraph(Body unitBody, boolean addExceptionEdges, boolean dontAddEdgeFromStmtBeforeAreaOfProtectionToCatchBlock)
body
- The underlying body we want to make a
graph for.addExceptionEdges
- If true then the control flow edges associated with
exceptions are added.dontAddEdgeFromStmtBeforeAreaOfProtectionToCatchBlock
- This was added for Dava.
If true, edges are not added from statement before area of
protection to catch. If false, edges ARE added. For Dava,
it should be true. For flow analyses, it should be false.Body
,
Unit
Method Detail |
public Body getBody()
UnitGraph
,
Body
public java.util.List getExtendedBasicBlockPathBetween(Unit from, Unit to)
from
- start point for the path.to
- end point for the path.public java.util.List getHeads()
public java.util.List getTails()
public java.util.List getPredsOf(java.lang.Object s)
public java.util.List getSuccsOf(java.lang.Object s)
public int size()
public java.util.Iterator iterator()
public java.lang.String toString()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |