public class PartialCallGraph extends com.ibm.wala.util.graph.impl.DelegatingGraph<CGNode> implements CallGraph
| Modifier and Type | Field and Description |
|---|---|
protected CallGraph |
cg |
protected java.util.Collection<CGNode> |
partialRoots |
| Modifier | Constructor and Description |
|---|---|
protected |
PartialCallGraph(CallGraph cg,
java.util.Collection<CGNode> partialRoots,
com.ibm.wala.util.graph.Graph<CGNode> partialGraph) |
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
getClassHierarchy() |
java.util.Collection<CGNode> |
getEntrypointNodes() |
CGNode |
getFakeRootNode()
Return the (fake) interprocedural
root node of the call graph. |
CGNode |
getFakeWorldClinitNode() |
int |
getMaxNumber() |
CGNode |
getNode(IMethod method,
Context C)
If you want to get all the nodes corresponding to a particular method, regardless of
context, then use
getNodes |
CGNode |
getNode(int index) |
java.util.Set<CGNode> |
getNodes(MethodReference m) |
int |
getNumber(CGNode n) |
int |
getNumberOfTargets(CGNode node,
CallSiteReference site) |
java.util.Iterator<CallSiteReference> |
getPossibleSites(CGNode src,
CGNode target) |
java.util.Set<CGNode> |
getPossibleTargets(CGNode node,
CallSiteReference site)
Return the set of CGNodes that represent possible targets of a particular call site from a
particular node
|
com.ibm.wala.util.intset.IntSet |
getPredNodeNumbers(CGNode node) |
com.ibm.wala.util.intset.IntSet |
getSuccNodeNumbers(CGNode node) |
java.util.Iterator<CGNode> |
iterateNodes(com.ibm.wala.util.intset.IntSet nodes) |
static PartialCallGraph |
make(CallGraph cg,
java.util.Collection<CGNode> partialRoots) |
static PartialCallGraph |
make(CallGraph cg,
java.util.Collection<CGNode> partialRoots,
java.util.Collection<CGNode> nodes) |
addEdge, addNode, containsNode, getNumberOfNodes, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, iterator, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdges, stream, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitprotected final CallGraph cg
protected final java.util.Collection<CGNode> partialRoots
public static PartialCallGraph make(CallGraph cg, java.util.Collection<CGNode> partialRoots, java.util.Collection<CGNode> nodes)
cg - the original call graphpartialRoots - roots of the new, partial graphnodes - set of nodes that will be included in the new, partial call graphpublic static PartialCallGraph make(CallGraph cg, java.util.Collection<CGNode> partialRoots)
cg - the original call graphpartialRoots - roots of the new, partial graph the result contains only nodes reachable
from the partialRoots in the original call graph.public CGNode getFakeRootNode() throws java.lang.UnsupportedOperationException
CallGraphroot node of the call graph.getFakeRootNode in interface CallGraphjava.lang.UnsupportedOperationExceptionpublic CGNode getFakeWorldClinitNode() throws java.lang.UnsupportedOperationException
getFakeWorldClinitNode in interface CallGraphjava.lang.UnsupportedOperationExceptionpublic java.util.Collection<CGNode> getEntrypointNodes()
getEntrypointNodes in interface CallGraphpublic CGNode getNode(IMethod method, Context C)
CallGraphgetNodespublic java.util.Set<CGNode> getNodes(MethodReference m)
public IClassHierarchy getClassHierarchy()
getClassHierarchy in interface CallGraphpublic java.util.Iterator<CGNode> iterateNodes(com.ibm.wala.util.intset.IntSet nodes)
iterateNodes in interface com.ibm.wala.util.graph.NumberedNodeManager<CGNode>public int getMaxNumber()
getMaxNumber in interface com.ibm.wala.util.graph.NumberedNodeManager<CGNode>public CGNode getNode(int index)
getNode in interface com.ibm.wala.util.graph.NumberedNodeManager<CGNode>public int getNumber(CGNode n)
getNumber in interface com.ibm.wala.util.graph.NumberedNodeManager<CGNode>public com.ibm.wala.util.intset.IntSet getSuccNodeNumbers(CGNode node)
getSuccNodeNumbers in interface com.ibm.wala.util.graph.NumberedEdgeManager<CGNode>public com.ibm.wala.util.intset.IntSet getPredNodeNumbers(CGNode node)
getPredNodeNumbers in interface com.ibm.wala.util.graph.NumberedEdgeManager<CGNode>public int getNumberOfTargets(CGNode node, CallSiteReference site)
getNumberOfTargets in interface CallGraphpublic java.util.Iterator<CallSiteReference> getPossibleSites(CGNode src, CGNode target)
getPossibleSites in interface CallGraphpublic java.util.Set<CGNode> getPossibleTargets(CGNode node, CallSiteReference site)
CallGraphgetPossibleTargets in interface CallGraph