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, JetDeclarationWithBody function, FunctionDescriptor functionDescriptor, DataFlowInfo dataFlowInfo, JetType expectedReturnType, BindingTrace trace)
           
 JetTypeInfo getBlockReturnedType(JetBlockExpression expression, CoercionStrategy coercionStrategyForLastExpression, ExpressionTypingContext context)
           
 JetTypeInfo getBlockReturnedType(JetBlockExpression expression, ExpressionTypingContext context, boolean isStatement)
           
 JetType getBodyExpressionType(BindingTrace trace, LexicalScope outerScope, DataFlowInfo dataFlowInfo, JetDeclarationWithBody function, FunctionDescriptor functionDescriptor)
           
 StatementFilter getStatementFilter()
           
 JetType getType(LexicalScope scope, JetExpression expression, JetType expectedType, DataFlowInfo dataFlowInfo, BindingTrace trace)
           
 JetTypeInfo getTypeInfo(JetExpression expression, ResolutionContext resolutionContext)
           
 JetTypeInfo getTypeInfo(LexicalScope scope, JetExpression expression, JetType expectedType, DataFlowInfo dataFlowInfo, BindingTrace trace, boolean isStatement)
           
 JetType safeGetType(LexicalScope scope, JetExpression expression, JetType 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 JetType safeGetType(@NotNull
                                   LexicalScope scope,
                                   @NotNull
                                   JetExpression expression,
                                   @NotNull
                                   JetType expectedType,
                                   @NotNull
                                   DataFlowInfo dataFlowInfo,
                                   @NotNull
                                   BindingTrace trace)

getTypeInfo

@NotNull
public JetTypeInfo getTypeInfo(@NotNull
                                       LexicalScope scope,
                                       @NotNull
                                       JetExpression expression,
                                       @NotNull
                                       JetType expectedType,
                                       @NotNull
                                       DataFlowInfo dataFlowInfo,
                                       @NotNull
                                       BindingTrace trace,
                                       boolean isStatement)

getTypeInfo

@NotNull
public JetTypeInfo getTypeInfo(@NotNull
                                       JetExpression expression,
                                       @NotNull
                                       ResolutionContext resolutionContext)

getType

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

checkFunctionReturnType

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

getBlockReturnedType

@NotNull
public JetTypeInfo getBlockReturnedType(JetBlockExpression expression,
                                                ExpressionTypingContext context,
                                                boolean isStatement)

getBlockReturnedType

@NotNull
public JetTypeInfo getBlockReturnedType(@NotNull
                                                JetBlockExpression expression,
                                                @NotNull
                                                CoercionStrategy coercionStrategyForLastExpression,
                                                @NotNull
                                                ExpressionTypingContext context)

getBodyExpressionType

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