Class GetMethodContextSelector
java.lang.Object
com.ibm.wala.analysis.reflection.GetMethodContextSelector
- All Implemented Interfaces:
ContextSelector
Produces
GetMethodContext
if appropriate.- Author:
- Michael Heilmann
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final boolean
Iftrue
, debug information is emitted. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetCalleeTarget
(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
.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 Details
-
DEBUG
protected static final boolean DEBUGIftrue
, debug information is emitted.- See Also:
-
-
Constructor Details
-
GetMethodContextSelector
public GetMethodContextSelector(boolean applicationClassesOnly)
-
-
Method Details
-
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
Create a constant key for a string.- Parameters:
cha
- the class hierarchystr
- the string- Returns:
- the constant key
-
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
-