Class RecursionBoundContextSelector

java.lang.Object
com.ibm.wala.cast.js.ipa.callgraph.RecursionBoundContextSelector
All Implemented Interfaces:
ContextSelector

public class RecursionBoundContextSelector extends Object implements ContextSelector
A context selector that attempts to detect recursion beyond some depth in a base selector. If such recursion is detected, the base selector's context is replaced with Everywhere.EVERYWHERE.
  • Constructor Details

    • RecursionBoundContextSelector

      public RecursionBoundContextSelector(ContextSelector base, int recursionBound)
      Parameters:
      recursionBound - bound on recursion depth, with the top level of the context returned by the base selector being depth 0. The Everywhere.EVERYWHERE context is returned if the base context exceeds this bound.
  • Method Details

    • getCalleeTarget

      public Context getCalleeTarget(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] actualParameters)
      Description copied from interface: ContextSelector
      Given a calling node and a call site, returns the Context in which the callee should be evaluated.
      Specified by:
      getCalleeTarget in interface ContextSelector
      Parameters:
      caller - the node containing the call site
      site - description of the call site
      actualParameters - the abstract objects (InstanceKeys) of parameters of interest to the selector
      Returns:
      the Context in which the callee should be evaluated, or null if no information is available.
    • getRelevantParameters

      public IntSet getRelevantParameters(CGNode caller, CallSiteReference site)
      Description copied from interface: ContextSelector
      Given a calling node and a call site, return the set of parameters based on which this selector may choose to specialize contexts.
      Specified by:
      getRelevantParameters in interface ContextSelector
      Parameters:
      caller - the calling node
      site - the specific call site
      Returns:
      the set of parameters of interest