Interface IPolyExpression
- All Known Implementing Classes:
AllocationExpression
,CodeSnippetAllocationExpression
,CodeSnippetMessageSend
,CompletionOnJavadocAllocationExpression
,CompletionOnJavadocMessageSend
,CompletionOnMessageSend
,CompletionOnMessageSendName
,CompletionOnQualifiedAllocationExpression
,CompletionOnReferenceExpressionName
,ConditionalExpression
,JavadocAllocationExpression
,JavadocMessageSend
,KnownMessageSend
,LambdaExpression
,MessageSend
,Proceed
,QualifiedAllocationExpression
,ReferenceExpression
,SelectionOnLambdaExpression
,SelectionOnMessageSend
,SelectionOnQualifiedAllocationExpression
,SelectionOnReferenceExpression
,SelectionOnReferenceExpressionName
,SwitchExpression
public interface IPolyExpression
Contract to be implemented by all poly expressions and potential poly expressions for uniform integration into overload resolution and type inference.
Additional contracts may be imposed by
Invocation
and InvocationSite
. For most contracts "default" implementations are furnished by
Expression
or Statement
or by ASTNode
and the poly expression should suitably override where required.- See Also:
PolyTypeBinding
,ExpressionContext
-
Method Summary
Modifier and TypeMethodDescriptionboolean
isBoxingCompatibleWith(TypeBinding targetType, Scope scope)
boolean
isCompatibleWith(TypeBinding targetType, Scope scope)
boolean
boolean
isPertinentToApplicability(TypeBinding targetType, MethodBinding method)
boolean
boolean
isPolyExpression(MethodBinding candidate)
boolean
isPotentiallyCompatibleWith(TypeBinding targetType, Scope scope)
resolveExpressionExpecting(TypeBinding targetType, Scope scope, InferenceContext18 inferenceContext)
resolveType(BlockScope blockScope)
void
setExpectedType(TypeBinding targetType)
void
setExpressionContext(ExpressionContext context)
boolean
sIsMoreSpecific(TypeBinding s, TypeBinding t, Scope skope)
-
Method Details
-
setExpressionContext
-
getExpressionContext
ExpressionContext getExpressionContext() -
setExpectedType
-
invocationTargetType
TypeBinding invocationTargetType() -
isPotentiallyCompatibleWith
-
isCompatibleWith
-
isBoxingCompatibleWith
-
sIsMoreSpecific
-
isPertinentToApplicability
-
isPolyExpression
-
isPolyExpression
boolean isPolyExpression() -
isFunctionalType
boolean isFunctionalType() -
getPolyExpressions
Expression[] getPolyExpressions() -
resolveType
-
resolveExpressionExpecting
Expression resolveExpressionExpecting(TypeBinding targetType, Scope scope, InferenceContext18 inferenceContext)
-