Package com.ibm.wala.analysis.reflection
Class GetMethodContextSelector
- java.lang.Object
-
- com.ibm.wala.analysis.reflection.GetMethodContextSelector
-
- All Implemented Interfaces:
ContextSelector
public class GetMethodContextSelector extends Object implements ContextSelector
ProducesGetMethodContext
if appropriate.- See Also:
GetMethodContext
,GetMethodContextInterpreter
-
-
Field Summary
Fields Modifier and Type Field Description protected static boolean
DEBUG
If true, debug information is emitted.
-
Constructor Summary
Constructors Constructor Description GetMethodContextSelector(boolean applicationClassesOnly)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Context
getCalleeTarget(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] receiver)
If theCallSiteReference
invokes eitherClass.getMethod(java.lang.String, java.lang.Class<?>...)
orClass.getDeclaredMethod(java.lang.String, java.lang.Class<?>...)
, and the receiver is a type constant and the first argument is a constant, then return aGetMethodContextSelector
.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.protected static ConstantKey<String>
makeConstantKey(IClassHierarchy cha, String str)
Create a constant key for a string.
-
-
-
Field Detail
-
DEBUG
protected static final boolean DEBUG
If true, debug information is emitted.- See Also:
- Constant Field Values
-
-
Method Detail
-
getCalleeTarget
public Context getCalleeTarget(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] receiver)
If- the
CallSiteReference
invokes eitherClass.getMethod(java.lang.String, java.lang.Class<?>...)
orClass.getDeclaredMethod(java.lang.String, java.lang.Class<?>...)
, - and the receiver is a type constant and
- the first argument is a constant,
GetMethodContextSelector
.- 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.
- the
-
makeConstantKey
protected static ConstantKey<String> makeConstantKey(IClassHierarchy cha, String str)
Create a constant key for a string.- Parameters:
cha
- the class hierarchystr
- the string- Returns:
- the constant key
-
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
-
-