Class RecursionBoundContextSelector
java.lang.Object
com.ibm.wala.cast.js.ipa.callgraph.RecursionBoundContextSelector
- All Implemented Interfaces:
ContextSelector
A context selector that attempts to detect recursion beyond some depth in a base selector. If
such recursion is detected, the base selector's context is replaced with
Everywhere.EVERYWHERE.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetCalleeTarget(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.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 Details
-
RecursionBoundContextSelector
- Parameters:
recursionBound- bound on recursion depth, with the top level of the context returned by the base selector being depth 0. TheEverywhere.EVERYWHEREcontext is returned if the base context exceeds this bound.
-
-
Method Details
-
getCalleeTarget
public Context getCalleeTarget(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] actualParameters) Description copied from interface:ContextSelectorGiven a calling node and a call site, returns the Context in which the callee should be evaluated.- Specified by:
getCalleeTargetin 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.
-
getRelevantParameters
Description copied from interface:ContextSelectorGiven a calling node and a call site, return the set of parameters based on which this selector may choose to specialize contexts.- Specified by:
getRelevantParametersin interfaceContextSelector- Parameters:
caller- the calling nodesite- the specific call site- Returns:
- the set of parameters of interest
-