Package com.ibm.wala.cast.ipa.callgraph
Class OneLevelForLexicalAccessFunctions
- java.lang.Object
-
- com.ibm.wala.cast.ipa.callgraph.OneLevelForLexicalAccessFunctions
-
- All Implemented Interfaces:
ContextSelector
public class OneLevelForLexicalAccessFunctions extends Object implements ContextSelector
Adds one-level ofArgumentInstanceContext
on the function argument for functions that perform lexical accesses (i.e., those functions represented by aScopeMappingInstanceKeys.ScopeMappingInstanceKey
). In essence, this guarantees that when a function is cloned according to someContextSelector
, its nested functions that may do lexical accesses if its variables have corresponding clones.
-
-
Constructor Summary
Constructors Constructor Description OneLevelForLexicalAccessFunctions(ContextSelector baseSelector)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Context
getCalleeTarget(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.IntSet
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 Detail
-
OneLevelForLexicalAccessFunctions
public OneLevelForLexicalAccessFunctions(ContextSelector baseSelector)
-
-
Method Detail
-
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
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 interfaceContextSelector
- Parameters:
caller
- the calling nodesite
- the specific call site- Returns:
- the set of parameters of interest
-
-