Class CrossLanguageContextSelector

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

public class CrossLanguageContextSelector extends Object implements ContextSelector
A ContextSelector implementation adapted to work for analysis across multiple languages. This context selector delegates to one of several child selectors based on the language of the code body for which a context is being selected.

This provides a convenient way to integrate multiple, language-specific specialized context policies---such as the ones used for clone() in Java and runtime primitives in JavaScript.

Author:
Julian Dolby (dolby@us.ibm.com)
  • Constructor Details

    • CrossLanguageContextSelector

      public CrossLanguageContextSelector(Map<Atom,ContextSelector> languageSelectors)
  • Method Details

    • getCalleeTarget

      public Context getCalleeTarget(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] receiver)
      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
      receiver - 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