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:
-
Method Summary
Modifier and TypeMethodDescriptionbooleanisBoxingCompatibleWith(TypeBinding targetType, Scope scope) booleanisCompatibleWith(TypeBinding targetType, Scope scope) booleanbooleanisPertinentToApplicability(TypeBinding targetType, MethodBinding method) booleanbooleanisPolyExpression(MethodBinding candidate) booleanisPotentiallyCompatibleWith(TypeBinding targetType, Scope scope) resolveExpressionExpecting(TypeBinding targetType, Scope scope, InferenceContext18 inferenceContext) resolveType(BlockScope blockScope) voidsetExpectedType(TypeBinding targetType) voidsetExpressionContext(ExpressionContext context) booleansIsMoreSpecific(TypeBinding s, TypeBinding t, Scope skope)
-
Method Details
-
setExpressionContext
-
getExpressionContext
ExpressionContext getExpressionContext() -
setExpectedType
-
invocationTargetType
TypeBinding invocationTargetType() -
expectedType
TypeBinding expectedType() -
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)
-