Class CrossLanguageContextSelector
java.lang.Object
com.ibm.wala.cast.ipa.callgraph.CrossLanguageContextSelector
- All Implemented Interfaces:
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 Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetCalleeTarget
(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] receiver) Given a calling node and a call site, returns the Context in which the callee should be evaluated.getRelevantParameters
(CGNode caller, CallSiteReference site) Given a calling node and a call site, return the set of parameters based on which this selector may choose to specialize contexts.
-
Constructor Details
-
CrossLanguageContextSelector
-
-
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 interfaceContextSelector
- Parameters:
caller
- the node containing the call sitesite
- description of the call sitereceiver
- 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
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 interfaceContextSelector
- Parameters:
caller
- the calling nodesite
- the specific call site- Returns:
- the set of parameters of interest
-