- All Known Implementing Classes:
- BypassMethodTargetSelector, ClassHierarchyMethodTargetSelector, CrossLanguageMethodTargetSelector, LambdaMethodTargetSelector, Overrides.StartComponentMethodTargetSelector, StandardFunctionTargetSelector
public interface MethodTargetSelector
This interface represents policies for selecting a method to call at a given invocation site. The most obvious such policy would
be to look at the relevant class hierarchy and lookup the appropriate method based on the type reference and name and descriptor
at the call site. However, other policies are possible for purposes such as providing an abstraction of unanalyzed libraries or
specialized J2EE functionality.
Such policies are consulted by the different analysis mechanisms, both the flow-based and non-flow algorithms. The current
mechanism is that the policy object are registered with the AnalysisOptions object, and all analyses that need to analyze
invocations ask that object for the method selector to use.
In general, for specialized selectors, it is good practice to build selectors that handle the special case of interest, and
otherwise delegate to a child selector. When registering with the AnalysisOptions object, make the child selector be whatever the
options object had before.