Interface CGNode

All Superinterfaces:
ContextItem, IClassHierarchyDweller, INodeWithNumber
All Known Implementing Classes:
AstCallGraph.AstCGNode, BasicCallGraph.NodeImpl, DelegatingExplicitCallGraph.DelegatingCGNode, ExplicitCallGraph.ExplicitNode

public interface CGNode extends INodeWithNumber, ContextItem, IClassHierarchyDweller
Basic interface for a node in a call graph.
  • Method Details

    • getMethod

      IMethod getMethod()
      Return the method this CGNode represents. This value will never be null.
      Returns:
      the target IMethod for this CGNode.
    • getContext

      Context getContext()
      Return the context this CGNode represents. This value will never be null.
      Returns:
      the Context for this CGNode.
    • addTarget

      boolean addTarget(CallSiteReference site, CGNode target)
      NOTE: This is for use only by call graph builders, not by any other client of this interface.

      Record that a particular call site might resolve to a call to a particular target node. Returns true if this is a new target

    • getIR

      IR getIR()
      Returns:
      the "default" IR for this node used by the governing call graph
    • getDU

      DefUse getDU()
      Returns:
      DefUse for the "default" IR for this node used by the governing call graph
    • iterateNewSites

      Iterator<NewSiteReference> iterateNewSites()
      Returns:
      an Iterator of the types that may be allocated by a given method in a given context.
    • iterateCallSites

      Iterator<CallSiteReference> iterateCallSites()
      Returns:
      an Iterator of the call statements that may execute in a given method for a given context