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)
           
 JetTypeInfo getBlockReturnedType(KtBlockExpression expression, CoercionStrategy coercionStrategyForLastExpression, ExpressionTypingContext context)
           
 JetTypeInfo 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)
           
 JetTypeInfo getTypeInfo(KtExpression expression, ResolutionContext resolutionContext)
           
 JetTypeInfo 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 JetTypeInfo getTypeInfo(@NotNull
                                       LexicalScope scope,
                                       @NotNull
                                       KtExpression expression,
                                       @NotNull
                                       KotlinType expectedType,
                                       @NotNull
                                       DataFlowInfo dataFlowInfo,
                                       @NotNull
                                       BindingTrace trace,
                                       boolean isStatement)

getTypeInfo

@NotNull
public JetTypeInfo 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 JetTypeInfo getBlockReturnedType(KtBlockExpression expression,
                                                ExpressionTypingContext context,
                                                boolean isStatement)

getBlockReturnedType

@NotNull
public JetTypeInfo 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)