public abstract class HeapGraphImpl<T extends InstanceKey> extends java.lang.Object implements HeapGraph<T>
Graph view of a pointer analysis solution.
Nodes in the Graph are PointerKeys and InstanceKeys.
There is an edge from a PointerKey P to an InstanceKey I iff the PointerAnalysis indicates that P may point to I.
There is an edge from an InstanceKey I to a PointerKey P iff - P represents a field of an object instance modeled by I, or - P represents the array contents of array instance I.
| Modifier | Constructor and Description |
|---|---|
protected |
HeapGraphImpl(PointerAnalysis<T> pa) |
| Modifier and Type | Method and Description |
|---|---|
HeapModel |
getHeapModel() |
PointerAnalysis<T> |
getPointerAnalysis() |
java.util.Collection<java.lang.Object> |
getReachableInstances(java.util.Set<java.lang.Object> roots) |
java.util.Iterator<java.lang.Object> |
iterateNodes(com.ibm.wala.util.intset.IntSet s) |
void |
removeNodeAndEdges(java.lang.Object N) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetMaxNumber, getNode, getNumberaddNode, containsNode, getNumberOfNodes, iterator, removeNode, streamprotected HeapGraphImpl(PointerAnalysis<T> pa)
public java.util.Iterator<java.lang.Object> iterateNodes(com.ibm.wala.util.intset.IntSet s)
iterateNodes in interface com.ibm.wala.util.graph.NumberedNodeManager<java.lang.Object>public java.util.Collection<java.lang.Object> getReachableInstances(java.util.Set<java.lang.Object> roots)
getReachableInstances in interface HeapGraph<T extends InstanceKey>public void removeNodeAndEdges(java.lang.Object N)
throws java.lang.UnsupportedOperationException
removeNodeAndEdges in interface com.ibm.wala.util.graph.Graph<java.lang.Object>java.lang.UnsupportedOperationExceptionpublic HeapModel getHeapModel()
getHeapModel in interface HeapGraph<T extends InstanceKey>public PointerAnalysis<T> getPointerAnalysis()
getPointerAnalysis in interface HeapGraph<T extends InstanceKey>