Package com.ibm.wala.ipa.callgraph.impl
Class UnionContextSelector
- java.lang.Object
-
- com.ibm.wala.ipa.callgraph.impl.UnionContextSelector
-
- All Implemented Interfaces:
ContextSelector
public class UnionContextSelector extends Object implements ContextSelector
Checks ContextSelectors A and B, then returns the union of their findings. The returned Context contains the ContextKeys from A and B. If for a given key a value is generated by A as well as B the value generated by A has the precedence. As the UnionContextSelector optionally returns a DelegatingContext it cannot be used to anihilate ContextValues of B to null.- See Also:
DelegatingContextSelector
-
-
Constructor Summary
Constructors Constructor Description UnionContextSelector(ContextSelector A, ContextSelector B)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Context
getCalleeTarget(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] receiver)
If only one Context exists return it, else return a DelegatingContext.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.String
toString()
-
-
-
Constructor Detail
-
UnionContextSelector
public UnionContextSelector(ContextSelector A, ContextSelector B)
-
-
Method Detail
-
getCalleeTarget
public Context getCalleeTarget(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] receiver)
If only one Context exists return it, else return a DelegatingContext.- 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
-
-