|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--soot.toolkits.graph.HashMutableDirectedGraph
HashMap based implementation of a MutableBlockGraph.
Field Summary | |
protected Chain |
heads
|
protected java.util.HashMap |
nodeToPreds
|
protected java.util.HashMap |
nodeToSuccs
|
protected Chain |
tails
|
Constructor Summary | |
HashMutableDirectedGraph()
|
Method Summary | |
void |
addEdge(java.lang.Object from,
java.lang.Object to)
Adds an edge to the graph between 2 nodes. |
void |
addNode(java.lang.Object node)
Adds a node to the graph. |
void |
clearAll()
Removes all nodes and edges. |
java.lang.Object |
clone()
|
boolean |
containsEdge(java.lang.Object from,
java.lang.Object to)
|
boolean |
containsNode(java.lang.Object node)
|
java.util.List |
getHeads()
Returns a list of entry points for this graph. |
java.util.List |
getNodes()
|
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. |
void |
printGraph()
|
void |
removeEdge(java.lang.Object from,
java.lang.Object to)
Removes an edge between 2 nodes in the graph. |
void |
removeNode(java.lang.Object node)
Removes a node from the graph. |
int |
size()
Returns the node count for this graph. |
Methods inherited from class java.lang.Object |
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
protected java.util.HashMap nodeToPreds
protected java.util.HashMap nodeToSuccs
protected Chain heads
protected Chain tails
Constructor Detail |
public HashMutableDirectedGraph()
Method Detail |
public void clearAll()
public java.lang.Object clone()
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 void addEdge(java.lang.Object from, java.lang.Object to)
from
- out node for the edge.to
- in node for the edge.public void removeEdge(java.lang.Object from, java.lang.Object to)
from
- out node for the edge to remove.to
- in node for the edge to remove.public boolean containsEdge(java.lang.Object from, java.lang.Object to)
public boolean containsNode(java.lang.Object node)
node
- node that we want to know if the graph constains.public java.util.List getNodes()
public void addNode(java.lang.Object node)
node
- a node to add to the graph.DirectedGraph.getHeads()
,
DirectedGraph.getTails()
public void removeNode(java.lang.Object node)
node
- the node to be removed.public void printGraph()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |