Interface CallGraph

All Superinterfaces:
EdgeManager<CGNode>, Graph<CGNode>, Iterable<CGNode>, NodeManager<CGNode>, NumberedEdgeManager<CGNode>, NumberedGraph<CGNode>, NumberedNodeManager<CGNode>
All Known Implementing Classes:
AstCallGraph, BasicCallGraph, CHACallGraph, CrossLanguageCallGraph, DelegatingExplicitCallGraph, ExplicitCallGraph, JSCallGraph, PartialCallGraph, PrunedCallGraph

public interface CallGraph extends NumberedGraph<CGNode>
Basic interface for a call graph, which is a graph of CGNode
  • Method Details

    • getFakeRootNode

      CGNode getFakeRootNode()
      Return the (fake) interprocedural root node of the call graph.
      Returns:
      the "fake" root node the call graph
    • getFakeWorldClinitNode

      CGNode getFakeWorldClinitNode()
    • getEntrypointNodes

      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

      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

      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

      Iterator<CallSiteReference> getPossibleSites(CGNode src, CGNode target)
      Returns:
      iterator of CallSiteReference, the call sites in a node that might dispatch to the target node.