com.ibm.wala.ipa.callgraph
Interface CallGraph
- All Superinterfaces:
- EdgeManager<CGNode>, Graph<CGNode>, java.lang.Iterable<CGNode>, NodeManager<CGNode>, NumberedEdgeManager<CGNode>, NumberedGraph<CGNode>, NumberedNodeManager<CGNode>
- All Known Implementing Classes:
- AstCallGraph, BasicCallGraph, CrossLanguageCallGraph, DelegatingExplicitCallGraph, ExplicitCallGraph, JSCallGraph, PartialCallGraph
public interface CallGraph
- extends NumberedGraph<CGNode>
Basic interface for a call graph, which is a graph of CGNode
getFakeRootNode
CGNode getFakeRootNode()
- Return the (fake) interprocedural
root node of the call graph.
- Returns:
- the "fake" root node the call graph
getEntrypointNodes
java.util.Collection<CGNode> getEntrypointNodes()
- Returns:
- an Iterator of the nodes designated as "root nodes"
getNode
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
- Returns:
- the node corresponding a method in a context
getNodes
java.util.Set<CGNode> getNodes(MethodReference m)
- Parameters:
m - a method reference
- Returns:
- the set of all nodes in the call graph that represent this method.
getClassHierarchy
IClassHierarchy getClassHierarchy()
- Returns:
- the governing class hierarchy for this call graph
getPossibleTargets
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
getNumberOfTargets
int getNumberOfTargets(CGNode node,
CallSiteReference site)
- Returns:
- the number of nodes that the call site may dispatch to
getPossibleSites
java.util.Iterator<CallSiteReference> getPossibleSites(CGNode src,
CGNode target)
- Returns:
- iterator of CallSiteReference, the call sites in a node that might dispatch to the target node.