Class IntentContextSelector
- java.lang.Object
-
- com.ibm.wala.dalvik.ipa.callgraph.propagation.cfa.IntentContextSelector
-
- All Implemented Interfaces:
ContextSelector
public class IntentContextSelector extends Object implements ContextSelector
Adds Intents to the Context of functions that start Android-Components. This is done by remembering all new-sites where Intent-Objects are built and the parameters to its Constructor. When a function managed by this Selector (see IntentStarters) is encountered the stored information is added to its Context.- Since:
- 2013-10-14
- See Also:
IntentContextInterpreter
,IntentStarters
-
-
Constructor Summary
Constructors Constructor Description IntentContextSelector(ContextSelector parent, IClassHierarchy cha)
IntentContextSelector(IClassHierarchy cha)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Context
getCalleeTarget(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.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
-
IntentContextSelector
public IntentContextSelector(IClassHierarchy cha)
-
IntentContextSelector
public IntentContextSelector(ContextSelector parent, IClassHierarchy cha)
- Parameters:
parent
- is always asked to build a Context first. Context generated by this class is added then.
-
-
Method Detail
-
getCalleeTarget
public Context getCalleeTarget(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. 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.
- Throws:
IllegalArgumentException
- if the type of a parameter given as actualParameters does not match an expected one
-
getRelevantParameters
public 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. 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
-
-