Class HeapGraphImpl<T extends InstanceKey>
java.lang.Object
com.ibm.wala.analysis.pointers.HeapGraphImpl<T>
- All Implemented Interfaces:
HeapGraph<T>
,EdgeManager<Object>
,Graph<Object>
,NodeManager<Object>
,NumberedEdgeManager<Object>
,NumberedGraph<Object>
,NumberedNodeManager<Object>
,Iterable<Object>
- Direct Known Subclasses:
BasicHeapGraph
A
Graph
view of a pointer analysis solution.
Nodes in the Graph are PointerKey
s and InstanceKey
s.
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.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetReachableInstances
(Set<Object> roots) void
remove a node and all its incident edgesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.ibm.wala.util.graph.EdgeManager
addEdge, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeOutgoingEdges
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface com.ibm.wala.util.graph.NodeManager
addNode, containsNode, getNumberOfNodes, iterator, removeNode, stream
Methods inherited from interface com.ibm.wala.util.graph.NumberedEdgeManager
getPredNodeNumbers, getSuccNodeNumbers
Methods inherited from interface com.ibm.wala.util.graph.NumberedNodeManager
getMaxNumber, getNode, getNumber
-
Constructor Details
-
HeapGraphImpl
-
-
Method Details
-
iterateNodes
- Specified by:
iterateNodes
in interfaceNumberedNodeManager<T extends InstanceKey>
- Returns:
- iterator of nodes with the numbers in set s
-
getReachableInstances
- Specified by:
getReachableInstances
in interfaceHeapGraph<T extends InstanceKey>
-
removeNodeAndEdges
Description copied from interface:Graph
remove a node and all its incident edges- Specified by:
removeNodeAndEdges
in interfaceGraph<T extends InstanceKey>
- Throws:
UnsupportedOperationException
- if the graph implementation does not allow removal
-
getHeapModel
- Specified by:
getHeapModel
in interfaceHeapGraph<T extends InstanceKey>
- Returns:
- the heap model used in this pointer analysis.
-
getPointerAnalysis
- Specified by:
getPointerAnalysis
in interfaceHeapGraph<T extends InstanceKey>
-