org.jetbrains.kotlin.types.expressions
Class DataFlowAnalyzer

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

public class DataFlowAnalyzer
extends java.lang.Object


Constructor Summary
DataFlowAnalyzer(java.lang.Iterable<AdditionalTypeChecker> additionalTypeCheckers, ConstantExpressionEvaluator constantExpressionEvaluator, KotlinBuiltIns builtIns, SmartCastManager smartCastManager)
           
 
Method Summary
 JetTypeInfo checkImplicitCast(JetTypeInfo typeInfo, JetExpression expression, ResolutionContext context, boolean isStatement)
           
 JetType checkImplicitCast(JetType expressionType, JetExpression expression, ResolutionContext context, boolean isStatement)
           
 JetType checkPossibleCast(JetType expressionType, JetExpression expression, ResolutionContext c)
           
 JetType checkStatementType(JetExpression expression, ResolutionContext context)
           
 JetTypeInfo checkType(JetTypeInfo typeInfo, JetExpression expression, ResolutionContext context)
           
 JetType checkType(JetType expressionType, JetExpression expression, ResolutionContext context)
           
 JetType checkType(JetType expressionType, JetExpression expressionToCheck, ResolutionContext c, com.intellij.openapi.util.Ref<java.lang.Boolean> hasError)
           
 JetTypeInfo createCheckedTypeInfo(JetType type, ResolutionContext<?> context, JetExpression expression)
           
 JetTypeInfo createCompileTimeConstantTypeInfo( value, JetExpression expression, ExpressionTypingContext context)
           
 DataFlowInfo extractDataFlowInfoFromCondition(JetExpression condition, boolean conditionValue, ExpressionTypingContext context)
           
 java.util.Collection<JetType> getAllPossibleTypes(JetExpression expression, DataFlowInfo dataFlowInfo, JetType type, ResolutionContext c)
           
 JetTypeInfo illegalStatementType(JetExpression expression, ExpressionTypingContext context, org.jetbrains.kotlin.types.expressions.ExpressionTypingInternals facade)
           
 void recordExpectedType(BindingTrace trace, JetExpression expression, JetType expectedType)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DataFlowAnalyzer

public DataFlowAnalyzer(@NotNull
                        java.lang.Iterable<AdditionalTypeChecker> additionalTypeCheckers,
                        @NotNull
                        ConstantExpressionEvaluator constantExpressionEvaluator,
                        @NotNull
                        KotlinBuiltIns builtIns,
                        @NotNull
                        SmartCastManager smartCastManager)
Method Detail

extractDataFlowInfoFromCondition

@NotNull
public DataFlowInfo extractDataFlowInfoFromCondition(@Nullable
                                                             JetExpression condition,
                                                             boolean conditionValue,
                                                             ExpressionTypingContext context)

checkType

@Nullable
public JetType checkType(@Nullable
                                  JetType expressionType,
                                  @NotNull
                                  JetExpression expression,
                                  @NotNull
                                  ResolutionContext context)

checkType

@NotNull
public JetTypeInfo checkType(@NotNull
                                     JetTypeInfo typeInfo,
                                     @NotNull
                                     JetExpression expression,
                                     @NotNull
                                     ResolutionContext context)

checkType

@Nullable
public JetType checkType(@Nullable
                                  JetType expressionType,
                                  @NotNull
                                  JetExpression expressionToCheck,
                                  @NotNull
                                  ResolutionContext c,
                                  @Nullable
                                  com.intellij.openapi.util.Ref<java.lang.Boolean> hasError)

checkPossibleCast

@Nullable
public JetType checkPossibleCast(@NotNull
                                          JetType expressionType,
                                          @NotNull
                                          JetExpression expression,
                                          @NotNull
                                          ResolutionContext c)

recordExpectedType

public void recordExpectedType(@NotNull
                               BindingTrace trace,
                               @NotNull
                               JetExpression expression,
                               @NotNull
                               JetType expectedType)

checkStatementType

@Nullable
public JetType checkStatementType(@NotNull
                                           JetExpression expression,
                                           @NotNull
                                           ResolutionContext context)

checkImplicitCast

@Nullable
public JetType checkImplicitCast(@Nullable
                                          JetType expressionType,
                                          @NotNull
                                          JetExpression expression,
                                          @NotNull
                                          ResolutionContext context,
                                          boolean isStatement)

checkImplicitCast

@NotNull
public JetTypeInfo checkImplicitCast(@NotNull
                                             JetTypeInfo typeInfo,
                                             @NotNull
                                             JetExpression expression,
                                             @NotNull
                                             ResolutionContext context,
                                             boolean isStatement)

illegalStatementType

@NotNull
public JetTypeInfo illegalStatementType(@NotNull
                                                JetExpression expression,
                                                @NotNull
                                                ExpressionTypingContext context,
                                                @NotNull
                                                org.jetbrains.kotlin.types.expressions.ExpressionTypingInternals facade)

getAllPossibleTypes

@NotNull
public java.util.Collection<JetType> getAllPossibleTypes(@NotNull
                                                                 JetExpression expression,
                                                                 @NotNull
                                                                 DataFlowInfo dataFlowInfo,
                                                                 @NotNull
                                                                 JetType type,
                                                                 @NotNull
                                                                 ResolutionContext c)

createCheckedTypeInfo

@NotNull
public JetTypeInfo createCheckedTypeInfo(@Nullable
                                                 JetType type,
                                                 @NotNull
                                                 ResolutionContext<?> context,
                                                 @NotNull
                                                 JetExpression expression)

createCompileTimeConstantTypeInfo

@NotNull
public JetTypeInfo createCompileTimeConstantTypeInfo(@NotNull
                                                              value,
                                                             @NotNull
                                                             JetExpression expression,
                                                             @NotNull
                                                             ExpressionTypingContext context)