Interface CallGraph<CallSite,Method>

Type Parameters:
CallSite - type of call sites
Method - type of methods
All Superinterfaces:
Graph<Method>, Iterable<Method>, Serializable, StmtResult<Set<Method>>
All Known Implementing Classes:
AbstractCallGraph, CSCallGraph, DefaultCallGraph

public interface CallGraph<CallSite,Method> extends Graph<Method>, StmtResult<Set<Method>>
Representation of call graph.
  • Method Details

    • getCallersOf

      Set<CallSite> getCallersOf(Method callee)
      Returns:
      the call sites that invoke the given method.
    • getCalleesOf

      Set<Method> getCalleesOf(CallSite callSite)
      Returns:
      the methods that are called by the given call site.
    • getCalleesOfM

      Set<Method> getCalleesOfM(Method caller)
      Returns:
      the methods that are called by all call sites in the given method.
    • getContainerOf

      Method getContainerOf(CallSite callSite)
      Returns:
      the method that contains the given call site.
    • getCallSitesIn

      Set<CallSite> getCallSitesIn(Method method)
      Returns:
      the call sites within the given method.
    • callSitesIn

      default Stream<CallSite> callSitesIn(Method method)
      Returns:
      the call sites within the given method.
    • edgesOutOf

      Stream<Edge<CallSite,Method>> edgesOutOf(CallSite callSite)
      Returns:
      the call edges out of the given call site.
    • edgesInTo

      Stream<Edge<CallSite,Method>> edgesInTo(Method method)
      Returns:
      the call edges targeting to the given method.
    • edges

      Returns:
      all call edges in this call graph.
    • getNumberOfEdges

      int getNumberOfEdges()
      Returns:
      the number of call graph edges in this call graph.
    • entryMethods

      Stream<Method> entryMethods()
      Returns:
      the entry methods of this call graph.
    • reachableMethods

      Stream<Method> reachableMethods()
      Returns:
      all reachable methods in this call graph.
    • getNumberOfMethods

      int getNumberOfMethods()
      Returns:
      the number of reachable methods in this call graph.
    • contains

      boolean contains(Method method)
      Returns:
      true if this call graph contains the given method, otherwise false.