Interface ContextSelector
- All Known Implementing Classes:
ArgumentSpecialization.ArgumentCountContextSelector
,CallStringContextSelector
,ClassFactoryContextSelector
,CloneContextSelector
,ContainerContextSelector
,ContextInsensitiveSelector
,CPAContextSelector
,CrossLanguageContextSelector
,DefaultContextSelector
,DelegatingContextSelector
,GetClassContextSelector
,GetMethodContextSelector
,IntentContextSelector
,JavaScriptConstructorContextSelector
,JavaScriptFunctionApplyContextSelector
,MiscellaneousHacksContextSelector
,nCFAContextSelector
,nObjContextSelector
,ObjectSensitivityContextSelector
,OneLevelForLexicalAccessFunctions
,OneLevelSiteContextSelector
,PropertyNameContextSelector
,ReceiverTypeContextSelector
,RecursionBoundContextSelector
,RecursionCheckContextSelector
,TargetMethodContextSelector
,UnionContextSelector
,UriPrefixContextSelector
public interface ContextSelector
An interface to an object which helps control context-sensitivity.
-
Method Summary
Modifier and TypeMethodDescriptiongetCalleeTarget
(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] actualParameters) 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.
-
Method Details
-
getCalleeTarget
Context getCalleeTarget(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] actualParameters) Given a calling node and a call site, returns the Context in which the callee should be evaluated.- Parameters:
caller
- the node containing the call sitesite
- description of the call siteactualParameters
- 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
Given a calling node and a call site, return the set of parameters based on which this selector may choose to specialize contexts.- Parameters:
caller
- the calling nodesite
- the specific call site- Returns:
- the set of parameters of interest
-