Interface CallGraph

  • All Known Implementing Classes:
    BaseCallGraph

    public interface CallGraph
    A callgraph of the program to analyze, that knows how to resolve dynamic targets of UnresolvedCalls.
    • Method Detail

      • resolve

        Call resolve​(UnresolvedCall call,
                     java.util.Set<Type>[] types,
                     SymbolAliasing aliasing)
              throws CallResolutionException
        Yields a Call implementation that corresponds to the resolution of the given UnresolvedCall.
        Parameters:
        call - the call to resolve
        types - the runtime types of the parameters of the call
        aliasing - the symbol aliasing information
        Returns:
        a collection of all the possible runtime targets
        Throws:
        CallResolutionException - if this call graph is unable to resolve the given call
      • registerCall

        void registerCall​(CFGCall call)
        Registers an already resolved CFGCall in this CallGraph.
        Parameters:
        call - the call to register
      • getCallers

        java.util.Collection<CodeMember> getCallers​(CodeMember cm)
        Yields all the CodeMembers that call the given one. The returned collection might contain partial results if this call graph is not fully built.
        Parameters:
        cm - the target code member
        Returns:
        the collection of callers code members
      • getCallees

        java.util.Collection<CodeMember> getCallees​(CodeMember cm)
        Yields all the CodeMembers that are called by the given one. The returned collection might contain partial results if this call graph is not fully built.
        Parameters:
        cm - the target code member
        Returns:
        the collection of called code members
      • getCallSites

        java.util.Collection<Call> getCallSites​(CodeMember cm)
        Yields all the Calls that targets the given CodeMember. The returned collection might contain partial results if this call graph is not fully built.
        Parameters:
        cm - the target code member
        Returns:
        the collection of calls that target the code member