Class BasicHeapGraph<T extends InstanceKey>
java.lang.Object
com.ibm.wala.analysis.pointers.HeapGraphImpl<T>
com.ibm.wala.analysis.pointers.BasicHeapGraph<T>
- All Implemented Interfaces:
HeapGraph<T>, EdgeManager<Object>, Graph<Object>, NodeManager<Object>, NumberedEdgeManager<Object>, NumberedGraph<Object>, NumberedNodeManager<Object>, Iterable<Object>
Basic implementation of
HeapGraph-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidadd a node to this graphbooleanintgetNode(int number) intintintReturn the number ofimmediate predecessornodes of ngetPredNodeNumbers(Object node) Return anIteratorover the immediate predecessor nodes of nintReturn the number ofimmediate successornodes of this Node in the GraphgetSuccNodeNumbers(Object node) Return an Iterator over the immediate successor nodes of nbooleaniterator()voidremoveAllIncidentEdges(Object node) voidremoveEdge(Object from, Object to) voidremoveIncomingEdges(Object node) voidremoveNode(Object n) remove a node from this graphvoidremoveOutgoingEdges(Object node) stream()toString()Methods inherited from class HeapGraphImpl
getHeapModel, getPointerAnalysis, getReachableInstances, iterateNodes, removeNodeAndEdgesModifier and TypeMethodDescriptiongetReachableInstances(Set<Object> roots) voidremove a node and all its incident edgesMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Iterable
forEach, spliterator
-
Constructor Details
-
BasicHeapGraph
- Parameters:
P- governing pointer analysis- Throws:
NullPointerException- if P is null
-
-
Method Details
-
getNumber
-
getNode
-
getMaxNumber
public int getMaxNumber() -
iterator
-
stream
-
getNumberOfNodes
public int getNumberOfNodes()- Returns:
- the number of nodes in this graph
-
getPredNodes
-
getPredNodeCount
Description copied from interface:EdgeManagerReturn the number ofimmediate predecessornodes of n- Returns:
- the number of immediate predecessors of n.
-
getSuccNodes
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
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
-
removeNode
Description copied from interface:NodeManagerremove a node from this graph- Throws:
UnimplementedError
-
addEdge
- Throws:
UnimplementedError
-
removeEdge
- Throws:
UnimplementedError
-
hasEdge
- Throws:
UnimplementedError
-
removeAllIncidentEdges
- Throws:
UnsupportedOperationException
-
containsNode
- Returns:
- true iff the graph contains the specified node
-
toString
-
removeIncomingEdges
- Throws:
UnimplementedError
-
removeOutgoingEdges
- Throws:
UnimplementedError
-
getSuccNodeNumbers
- Returns:
- the numbers identifying the immediate successors of node
- Throws:
UnimplementedError
-
getPredNodeNumbers
- Returns:
- the numbers identifying the immediate predecessors of node
- Throws:
UnimplementedError
-