|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | 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)
addExceptionEdges
- If true then the control flow edges associated with
exceptions are added.Body
,
Unit
public UnitGraph(Body unitBody, boolean addExceptionEdges, boolean dontAddEdgeFromStmtBeforeAreaOfProtectionToCatchBlock)
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()
DirectedGraph
getHeads
in interface DirectedGraph
public java.util.List getTails()
DirectedGraph
getTails
in interface DirectedGraph
public java.util.List getPredsOf(java.lang.Object s)
DirectedGraph
getPredsOf
in interface DirectedGraph
public java.util.List getSuccsOf(java.lang.Object s)
DirectedGraph
getSuccsOf
in interface DirectedGraph
public int size()
DirectedGraph
size
in interface DirectedGraph
public java.util.Iterator iterator()
DirectedGraph
iterator
in interface DirectedGraph
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |