Class nObjContextSelector
java.lang.Object
com.ibm.wala.ipa.callgraph.propagation.cfa.nObjContextSelector
- All Implemented Interfaces:
ContextSelector
k-limited object sensitive context selector
- for static method : For a few well-known static factory methods from the standard
libraries, use
CallerSiteContext
.Otherwise, directly copy the context of the last non-static method - for virtual method : The
Context
consists of n allocation sites - for an object(fixed at allocation) : The heap context consists of n allocation sites
inherited from
CGNode
-
Field Summary
-
Constructor Summary
-
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.protected Context
getCalleeTargetForStaticCall
(CGNode caller, CallSiteReference site, IMethod callee) 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
-
ALLOCATION_STRING_KEY
-
-
Constructor Details
-
nObjContextSelector
-
-
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 interfaceContextSelector
- 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.
-
getCalleeTargetForStaticCall
protected Context getCalleeTargetForStaticCall(CGNode caller, CallSiteReference site, IMethod callee) -
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
-