Class ExtendedHashMutableDirectedGraph<N>
- java.lang.Object
-
- soot.toolkits.graph.HashMutableDirectedGraph<N>
-
- soot.jimple.toolkits.annotation.arraycheck.ExtendedHashMutableDirectedGraph<N>
-
- Type Parameters:
N-
- All Implemented Interfaces:
Iterable<N>,DirectedGraph<N>,MutableDirectedGraph<N>
public class ExtendedHashMutableDirectedGraph<N> extends HashMutableDirectedGraph<N>
add skipNode method to direct all predecessor edges to successors. override 'addEdge' to add node if the node was not in the graph
-
-
Field Summary
-
Fields inherited from class soot.toolkits.graph.HashMutableDirectedGraph
heads, nodeToPreds, nodeToSuccs, tails
-
-
Constructor Summary
Constructors Constructor Description ExtendedHashMutableDirectedGraph()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddEdge(N from, N to)If nodes are not in the graph, add them into graph first.voidaddMutualEdge(N from, N to)Add mutual edge to the graph.<T extends N>
voidmergeWith(ExtendedHashMutableDirectedGraph<T> other)voidskipNode(N node)Bypass the in edge to out edge.StringtoString()-
Methods inherited from class soot.toolkits.graph.HashMutableDirectedGraph
addNode, clearAll, clone, containsEdge, containsNode, getHeads, getNodes, getPredsOf, getPredsOfAsSet, getSuccsOf, getSuccsOfAsSet, getTails, iterator, printGraph, removeEdge, removeNode, size
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
addEdge
public void addEdge(N from, N to)
If nodes are not in the graph, add them into graph first.- Specified by:
addEdgein interfaceMutableDirectedGraph<N>- Overrides:
addEdgein classHashMutableDirectedGraph<N>- Parameters:
from- out node for the edge.to- in node for the edge.
-
addMutualEdge
public void addMutualEdge(N from, N to)
Add mutual edge to the graph. It should be optimized in the future.
-
skipNode
public void skipNode(N node)
Bypass the in edge to out edge. Not delete the node
-
mergeWith
public <T extends N> void mergeWith(ExtendedHashMutableDirectedGraph<T> other)
-
-