Interface ParameterMatchingStrategy
-
- All Known Implementing Classes:
FixedOrderMatchingStrategy
,JavaLikeMatchingStrategy
,PythonLikeMatchingStrategy
,RuntimeTypesMatchingStrategy
,StaticTypesMatchingStrategy
public interface ParameterMatchingStrategy
A strategy for matching call signatures. Depending on the language, targets of calls might be resolved (at compile time or runtime) relying on the static or runtime type of their parameters. Some languages might also have named parameter passing, allowing shuffling of parameters. Each strategy comes with a differentmatches(Call, Parameter[], Expression[], Set[])
implementation that can automatically detect if the signature of a cfg is matched by the given expressions representing the parameters for a call to that cfg.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
matches(Call call, Parameter[] formals, Expression[] actuals, java.util.Set<Type>[] types)
Yieldstrue
if and only if the parameter list of a cfg is matched by the given actual parameters, according to this strategy.
-
-
-
Method Detail
-
matches
boolean matches(Call call, Parameter[] formals, Expression[] actuals, java.util.Set<Type>[] types)
Yieldstrue
if and only if the parameter list of a cfg is matched by the given actual parameters, according to this strategy.- Parameters:
call
- the call where the parameters are being matchedformals
- the parameters definition of the cfgactuals
- the expression that are used as call parameterstypes
- the runtime types of the actual parameters- Returns:
true
if and only if that condition holds
-
-