org.jetbrains.kotlin.resolve.calls
Class ArgumentTypeResolver

java.lang.Object
  extended by org.jetbrains.kotlin.resolve.calls.ArgumentTypeResolver

public class ArgumentTypeResolver
extends java.lang.Object


Constructor Summary
ArgumentTypeResolver()
           
 
Method Summary
 void analyzeArgumentsAndRecordTypes(CallResolutionContext<?> context)
          Visits function call arguments and determines data flow information changes
 void checkTypesForFunctionArgumentsWithNoCallee(CallResolutionContext<?> context)
           
 void checkTypesWithNoCallee(CallResolutionContext<?> context)
           
 void checkTypesWithNoCallee(CallResolutionContext<?> context, CallResolverUtil.ResolveArgumentsMode resolveFunctionArgumentBodies)
           
 JetTypeInfo getArgumentTypeInfo(JetExpression expression, CallResolutionContext<?> context, CallResolverUtil.ResolveArgumentsMode resolveArgumentsMode)
           
static JetFunction getFunctionLiteralArgument(JetExpression expression, ResolutionContext context)
           
 JetTypeInfo getFunctionLiteralTypeInfo(JetExpression expression, JetFunction functionLiteral, CallResolutionContext<?> context, CallResolverUtil.ResolveArgumentsMode resolveArgumentsMode)
           
static JetExpression getLastElementDeparenthesized(JetExpression expression, ResolutionContext context)
           
 JetType getShapeTypeOfFunctionLiteral(JetFunction function, JetScope scope, BindingTrace trace, boolean expectedTypeIsUnknown)
           
static boolean isFunctionLiteralArgument(JetExpression expression, ResolutionContext context)
           
static boolean isSubtypeOfForArgumentType(JetType actualType, JetType expectedType)
           
 JetType resolveTypeRefWithDefault(JetTypeReference returnTypeRef, JetScope scope, BindingTrace trace, JetType defaultValue)
           
 void setBuiltIns(KotlinBuiltIns builtIns)
           
 void setExpressionTypingServices(ExpressionTypingServices expressionTypingServices)
           
 void setTypeResolver(TypeResolver typeResolver)
           
static void updateNumberType(JetType numberType, JetExpression expression, ResolutionContext context)
           
static JetType updateResultArgumentTypeIfNotDenotable(ResolutionContext context, JetExpression expression)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArgumentTypeResolver

public ArgumentTypeResolver()
Method Detail

setTypeResolver

@Inject
public void setTypeResolver(@NotNull
                                   TypeResolver typeResolver)

setExpressionTypingServices

@Inject
public void setExpressionTypingServices(@NotNull
                                               ExpressionTypingServices expressionTypingServices)

setBuiltIns

@Inject
public void setBuiltIns(@NotNull
                               KotlinBuiltIns builtIns)

isSubtypeOfForArgumentType

public static boolean isSubtypeOfForArgumentType(@NotNull
                                                 JetType actualType,
                                                 @NotNull
                                                 JetType expectedType)

checkTypesWithNoCallee

public void checkTypesWithNoCallee(@NotNull
                                   CallResolutionContext<?> context)

checkTypesWithNoCallee

public void checkTypesWithNoCallee(@NotNull
                                   CallResolutionContext<?> context,
                                   @NotNull
                                   CallResolverUtil.ResolveArgumentsMode resolveFunctionArgumentBodies)

checkTypesForFunctionArgumentsWithNoCallee

public void checkTypesForFunctionArgumentsWithNoCallee(@NotNull
                                                       CallResolutionContext<?> context)

isFunctionLiteralArgument

public static boolean isFunctionLiteralArgument(@NotNull
                                                JetExpression expression,
                                                @NotNull
                                                ResolutionContext context)

getFunctionLiteralArgument

@NotNull
public static JetFunction getFunctionLiteralArgument(@NotNull
                                                             JetExpression expression,
                                                             @NotNull
                                                             ResolutionContext context)

getLastElementDeparenthesized

@Nullable
public static JetExpression getLastElementDeparenthesized(@Nullable
                                                                   JetExpression expression,
                                                                   @NotNull
                                                                   ResolutionContext context)

getArgumentTypeInfo

@NotNull
public JetTypeInfo getArgumentTypeInfo(@Nullable
                                               JetExpression expression,
                                               @NotNull
                                               CallResolutionContext<?> context,
                                               @NotNull
                                               CallResolverUtil.ResolveArgumentsMode resolveArgumentsMode)

getFunctionLiteralTypeInfo

@NotNull
public JetTypeInfo getFunctionLiteralTypeInfo(@NotNull
                                                      JetExpression expression,
                                                      @NotNull
                                                      JetFunction functionLiteral,
                                                      @NotNull
                                                      CallResolutionContext<?> context,
                                                      @NotNull
                                                      CallResolverUtil.ResolveArgumentsMode resolveArgumentsMode)

getShapeTypeOfFunctionLiteral

@Nullable
public JetType getShapeTypeOfFunctionLiteral(@NotNull
                                                      JetFunction function,
                                                      @NotNull
                                                      JetScope scope,
                                                      @NotNull
                                                      BindingTrace trace,
                                                      boolean expectedTypeIsUnknown)

resolveTypeRefWithDefault

@Nullable
public JetType resolveTypeRefWithDefault(@Nullable
                                                  JetTypeReference returnTypeRef,
                                                  @NotNull
                                                  JetScope scope,
                                                  @NotNull
                                                  BindingTrace trace,
                                                  @Nullable
                                                  JetType defaultValue)

analyzeArgumentsAndRecordTypes

public void analyzeArgumentsAndRecordTypes(@NotNull
                                           CallResolutionContext<?> context)
Visits function call arguments and determines data flow information changes


updateResultArgumentTypeIfNotDenotable

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

updateNumberType

public static void updateNumberType(@NotNull
                                    JetType numberType,
                                    @Nullable
                                    JetExpression expression,
                                    @NotNull
                                    ResolutionContext context)