public interface Invocation extends InvocationSite
InvocationSite.EmptyWithAstNode| Modifier and Type | Method and Description |
|---|---|
Expression[] |
arguments() |
MethodBinding |
binding(TypeBinding targetType,
boolean reportErrors,
Scope scope)
Answer the resolved method binding of this invocation.
|
InferenceContext18 |
getInferenceContext(ParameterizedMethodBinding method)
Retrieve an inference context for the given method which must have been registered
using
registerInferenceContext(ParameterizedGenericMethodBinding, InferenceContext18). |
InnerInferenceHelper |
innerInferenceHelper()
If this invocation has any poly expressions as arguments, this method answers an inference helper
that mediates during overload resolution, even if no actual inference happens for this invocation.
|
boolean |
innersNeedUpdate()
Answer whether the current invocation has inner expressions that still need updating after inference.
|
void |
innerUpdateDone()
Mark that updating (the need for which is signaled via
innersNeedUpdate()) has been done. |
void |
registerInferenceContext(ParameterizedGenericMethodBinding method,
InferenceContext18 infCtx18)
Register the given inference context, which produced the given method as its intermediate result.
|
boolean |
updateBindings(MethodBinding updatedBinding,
TypeBinding targetType)
Where the AST node may hold references to the results of Invocation Applicability Inference,
this method allows to update those references to the result of Invocation Type Inference.
|
boolean |
usesInference()
Answer true if this invocation has determined its binding using inference.
|
freshInferenceContext, genericTypeArguments, getExpressionContext, invocationTargetType, isSuperAccess, isTypeAccess, receiverIsImplicitThis, setActualReceiverType, setDepth, setFieldIndex, sourceEnd, sourceStartExpression[] arguments()
MethodBinding binding(TypeBinding targetType, boolean reportErrors, Scope scope)
targetType - the target type of this invocation or null if not yet knownreportErrors - if true then this is the last call, if no valid binding can be answered we should report an errorscope - if reportErrors is true then this scope can be used for error reportingvoid registerInferenceContext(ParameterizedGenericMethodBinding method, InferenceContext18 infCtx18)
InvocationSite.getExpressionContext()
to continue the type inference.InferenceContext18 getInferenceContext(ParameterizedMethodBinding method)
registerInferenceContext(ParameterizedGenericMethodBinding, InferenceContext18).method - an intermediate resolved candidate for this invocation
return a suspended inference context or null if none was registered for this method.boolean usesInference()
boolean updateBindings(MethodBinding updatedBinding, TypeBinding targetType)
updatedBinding - the final method binding after full inferencetargetType - the target type used during Invocation Type Inferenceboolean innersNeedUpdate()
void innerUpdateDone()
innersNeedUpdate()) has been done.InnerInferenceHelper innerInferenceHelper()