public class PartialCallGraph extends com.ibm.wala.util.graph.impl.DelegatingGraph<CGNode> implements CallGraph
| Modifier and Type | Field and Description |
|---|---|
protected CallGraph |
cg |
protected Collection<CGNode> |
partialRoots |
| Modifier | Constructor and Description |
|---|---|
protected |
PartialCallGraph(CallGraph cg,
Collection<CGNode> partialRoots,
com.ibm.wala.util.graph.Graph<CGNode> partialGraph) |
| Modifier and Type | Method and Description |
|---|---|
IClassHierarchy |
getClassHierarchy() |
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) |
Set<CGNode> |
getNodes(MethodReference m) |
int |
getNumber(CGNode n) |
int |
getNumberOfTargets(CGNode node,
CallSiteReference site) |
Iterator<CallSiteReference> |
getPossibleSites(CGNode src,
CGNode target) |
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) |
Iterator<CGNode> |
iterateNodes(com.ibm.wala.util.intset.IntSet nodes) |
static PartialCallGraph |
make(CallGraph cg,
Collection<CGNode> partialRoots) |
static PartialCallGraph |
make(CallGraph cg,
Collection<CGNode> partialRoots,
Collection<CGNode> nodes) |
addEdge, addNode, containsNode, getNumberOfNodes, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, iterator, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdges, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitprotected final CallGraph cg
protected final Collection<CGNode> partialRoots
protected PartialCallGraph(CallGraph cg, Collection<CGNode> partialRoots, com.ibm.wala.util.graph.Graph<CGNode> partialGraph)
public static PartialCallGraph make(CallGraph cg, Collection<CGNode> partialRoots, 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, 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 UnsupportedOperationException
CallGraphroot node of the call graph.getFakeRootNode in interface CallGraphUnsupportedOperationExceptionpublic CGNode getFakeWorldClinitNode() throws UnsupportedOperationException
getFakeWorldClinitNode in interface CallGraphUnsupportedOperationExceptionpublic Collection<CGNode> getEntrypointNodes()
getEntrypointNodes in interface CallGraphpublic CGNode getNode(IMethod method, Context C)
CallGraphgetNodespublic Set<CGNode> getNodes(MethodReference m)
public IClassHierarchy getClassHierarchy()
getClassHierarchy in interface CallGraphpublic 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 Iterator<CallSiteReference> getPossibleSites(CGNode src, CGNode target)
getPossibleSites in interface CallGraphpublic Set<CGNode> getPossibleTargets(CGNode node, CallSiteReference site)
CallGraphgetPossibleTargets in interface CallGraphCopyright © 2015. All rights reserved.