org.jetbrains.kotlin.types.expressions
Class ExpressionTypingServices

java.lang.Object
  extended by org.jetbrains.kotlin.types.expressions.ExpressionTypingServices

public class ExpressionTypingServices
extends java.lang.Object


Constructor Summary
ExpressionTypingServices(ExpressionTypingComponents components, AnnotationChecker annotationChecker, StatementFilter statementFilter, ExpressionTypingVisitorDispatcher.ForDeclarations facade)
           
 
Method Summary
 void checkFunctionReturnType(LexicalScope functionInnerScope, KtDeclarationWithBody function, FunctionDescriptor functionDescriptor, DataFlowInfo dataFlowInfo, KotlinType expectedReturnType, BindingTrace trace)
           
 KotlinTypeInfo getBlockReturnedType(KtBlockExpression expression, CoercionStrategy coercionStrategyForLastExpression, ExpressionTypingContext context)
           
 KotlinTypeInfo getBlockReturnedType(KtBlockExpression expression, ExpressionTypingContext context, boolean isStatement)
           
 KotlinType getBodyExpressionType(BindingTrace trace, LexicalScope outerScope, DataFlowInfo dataFlowInfo, KtDeclarationWithBody function, FunctionDescriptor functionDescriptor)
           
 StatementFilter getStatementFilter()
           
 KotlinType getType(LexicalScope scope, KtExpression expression, KotlinType expectedType, DataFlowInfo dataFlowInfo, BindingTrace trace)
           
 KotlinTypeInfo getTypeInfo(KtExpression expression, ResolutionContext resolutionContext)
           
 KotlinTypeInfo getTypeInfo(LexicalScope scope, KtExpression expression, KotlinType expectedType, DataFlowInfo dataFlowInfo, BindingTrace trace, boolean isStatement)
           
 KotlinType safeGetType(LexicalScope scope, KtExpression expression, KotlinType expectedType, DataFlowInfo dataFlowInfo, BindingTrace trace)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpressionTypingServices

public ExpressionTypingServices(@NotNull
                                ExpressionTypingComponents components,
                                @NotNull
                                AnnotationChecker annotationChecker,
                                @NotNull
                                StatementFilter statementFilter,
                                @NotNull
                                ExpressionTypingVisitorDispatcher.ForDeclarations facade)
Method Detail

getStatementFilter

@NotNull
public StatementFilter getStatementFilter()

safeGetType

@NotNull
public KotlinType safeGetType(@NotNull
                                      LexicalScope scope,
                                      @NotNull
                                      KtExpression expression,
                                      @NotNull
                                      KotlinType expectedType,
                                      @NotNull
                                      DataFlowInfo dataFlowInfo,
                                      @NotNull
                                      BindingTrace trace)

getTypeInfo

@NotNull
public KotlinTypeInfo getTypeInfo(@NotNull
                                          LexicalScope scope,
                                          @NotNull
                                          KtExpression expression,
                                          @NotNull
                                          KotlinType expectedType,
                                          @NotNull
                                          DataFlowInfo dataFlowInfo,
                                          @NotNull
                                          BindingTrace trace,
                                          boolean isStatement)

getTypeInfo

@NotNull
public KotlinTypeInfo getTypeInfo(@NotNull
                                          KtExpression expression,
                                          @NotNull
                                          ResolutionContext resolutionContext)

getType

@Nullable
public KotlinType getType(@NotNull
                                   LexicalScope scope,
                                   @NotNull
                                   KtExpression expression,
                                   @NotNull
                                   KotlinType expectedType,
                                   @NotNull
                                   DataFlowInfo dataFlowInfo,
                                   @NotNull
                                   BindingTrace trace)

checkFunctionReturnType

public void checkFunctionReturnType(@NotNull
                                    LexicalScope functionInnerScope,
                                    @NotNull
                                    KtDeclarationWithBody function,
                                    @NotNull
                                    FunctionDescriptor functionDescriptor,
                                    @NotNull
                                    DataFlowInfo dataFlowInfo,
                                    @Nullable
                                    KotlinType expectedReturnType,
                                    BindingTrace trace)

getBlockReturnedType

@NotNull
public KotlinTypeInfo getBlockReturnedType(KtBlockExpression expression,
                                                   ExpressionTypingContext context,
                                                   boolean isStatement)

getBlockReturnedType

@NotNull
public KotlinTypeInfo getBlockReturnedType(@NotNull
                                                   KtBlockExpression expression,
                                                   @NotNull
                                                   CoercionStrategy coercionStrategyForLastExpression,
                                                   @NotNull
                                                   ExpressionTypingContext context)

getBodyExpressionType

@NotNull
public KotlinType getBodyExpressionType(@NotNull
                                                BindingTrace trace,
                                                @NotNull
                                                LexicalScope outerScope,
                                                @NotNull
                                                DataFlowInfo dataFlowInfo,
                                                @NotNull
                                                KtDeclarationWithBody function,
                                                @NotNull
                                                FunctionDescriptor functionDescriptor)