Package com.ibm.wala.analysis.pointers
Class BasicHeapGraph
- java.lang.Object
-
- com.ibm.wala.analysis.pointers.HeapGraphImpl
-
- com.ibm.wala.analysis.pointers.BasicHeapGraph
-
- All Implemented Interfaces:
HeapGraph,EdgeManager,Graph,NodeManager,NumberedEdgeManager,NumberedGraph,NumberedNodeManager,Iterable
public class BasicHeapGraph extends HeapGraphImpl
Basic implementation ofHeapGraph
-
-
Constructor Summary
Constructors Constructor Description BasicHeapGraph(PointerAnalysis<InstanceKey> P, CallGraph callGraph)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddEdge(Object from, Object to)voidaddNode(Object n)add a node to this graphbooleancontainsNode(Object N)intgetMaxNumber()ObjectgetNode(int number)intgetNumber(Object N)intgetNumberOfNodes()intgetPredNodeCount(Object N)Return the number ofimmediate predecessornodes of nIntSetgetPredNodeNumbers(Object node)Iterator<Object>getPredNodes(Object N)Return anIteratorover the immediate predecessor nodes of n This method never returnsnull.intgetSuccNodeCount(Object N)Return the number ofimmediate successornodes of this Node in the GraphIntSetgetSuccNodeNumbers(Object node)Iterator<Object>getSuccNodes(Object N)Return an Iterator over the immediate successor nodes of nbooleanhasEdge(Object from, Object to)Iterator<Object>iterator()voidremoveAllIncidentEdges(Object node)voidremoveEdge(Object from, Object to)voidremoveIncomingEdges(Object node)voidremoveNode(Object n)remove a node from this graphvoidremoveOutgoingEdges(Object node)StringtoString()-
Methods inherited from class com.ibm.wala.analysis.pointers.HeapGraphImpl
getHeapModel, getPointerAnalysis, getReachableInstances, iterateNodes, removeNodeAndEdges
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
BasicHeapGraph
public BasicHeapGraph(PointerAnalysis<InstanceKey> P, CallGraph callGraph) throws NullPointerException
- Parameters:
P- governing pointer analysis- Throws:
NullPointerException- if P is null
-
-
Method Detail
-
getNumber
public int getNumber(Object N)
-
getNode
public Object getNode(int number)
-
getMaxNumber
public int getMaxNumber()
-
getNumberOfNodes
public int getNumberOfNodes()
- Returns:
- the number of nodes in this graph
-
getPredNodes
public Iterator<Object> getPredNodes(Object N)
Description copied from interface:EdgeManagerReturn anIteratorover the immediate predecessor nodes of n This method never returnsnull.- Returns:
- an
Iteratorover the immediate predecessor nodes of this Node.
-
getPredNodeCount
public int getPredNodeCount(Object N)
Description copied from interface:EdgeManagerReturn the number ofimmediate predecessornodes of n- Returns:
- the number of immediate predecessors of n.
-
getSuccNodes
public Iterator<Object> getSuccNodes(Object N)
Description copied from interface:EdgeManagerReturn an Iterator over the immediate successor nodes of nThis method never returns
null.- Returns:
- an Iterator over the immediate successor nodes of n
-
getSuccNodeCount
public int getSuccNodeCount(Object N)
Description copied from interface:EdgeManagerReturn the number ofimmediate successornodes of this Node in the Graph- Returns:
- the number of immediate successor Nodes of this Node in the Graph.
-
addNode
public void addNode(Object n) throws UnimplementedError
Description copied from interface:NodeManageradd a node to this graph- Throws:
UnimplementedError
-
removeNode
public void removeNode(Object n) throws UnimplementedError
Description copied from interface:NodeManagerremove a node from this graph- Throws:
UnimplementedError
-
addEdge
public void addEdge(Object from, Object to) throws UnimplementedError
- Throws:
UnimplementedError
-
removeEdge
public void removeEdge(Object from, Object to) throws UnimplementedError
- Throws:
UnimplementedError
-
hasEdge
public boolean hasEdge(Object from, Object to) throws UnimplementedError
- Throws:
UnimplementedError
-
removeAllIncidentEdges
public void removeAllIncidentEdges(Object node) throws UnsupportedOperationException
- Throws:
UnsupportedOperationException
-
containsNode
public boolean containsNode(Object N)
- Returns:
- true iff the graph contains the specified node
-
removeIncomingEdges
public void removeIncomingEdges(Object node) throws UnimplementedError
- Throws:
UnimplementedError
-
removeOutgoingEdges
public void removeOutgoingEdges(Object node) throws UnimplementedError
- Throws:
UnimplementedError
-
getSuccNodeNumbers
public IntSet getSuccNodeNumbers(Object node) throws UnimplementedError
- Returns:
- the numbers identifying the immediate successors of node
- Throws:
UnimplementedError
-
getPredNodeNumbers
public IntSet getPredNodeNumbers(Object node) throws UnimplementedError
- Returns:
- the numbers identifying the immediate predecessors of node
- Throws:
UnimplementedError
-
-