Class PropertyNameContextSelector
java.lang.Object
com.ibm.wala.cast.js.ipa.callgraph.PropertyNameContextSelector
- All Implemented Interfaces:
ContextSelector
A context selector that applies object sensitivity for the i'th parameter if it is used as a
property name in a dynamic property access.
Works together with CorrelationFinder
and ClosureExtractor
to implement
correlation tracking.
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
Context representing a particular name accessed by a correlated read/write pair. -
Field Summary
Modifier and TypeFieldDescriptionstatic final ContextKey
static final ContextKey
static final ContextItem
static final ContextKey
-
Constructor Summary
ConstructorDescriptionPropertyNameContextSelector
(IAnalysisCacheView cache, int index, ContextSelector base) PropertyNameContextSelector
(IAnalysisCacheView cache, ContextSelector base) -
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.
-
Field Details
-
PROPNAME_KEY
-
PROPNAME_MARKER
-
PROPNAME_PARM_INDEX
-
INSTANCE_KEY_KEY
-
-
Constructor Details
-
PropertyNameContextSelector
-
PropertyNameContextSelector
-
-
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
-