org.jetbrains.kotlin.resolve.calls
Class CallExpressionResolver

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

public class CallExpressionResolver
extends java.lang.Object


Constructor Summary
CallExpressionResolver(CallResolver callResolver, ConstantExpressionEvaluator constantExpressionEvaluator, SymbolUsageValidator symbolUsageValidator, DataFlowAnalyzer dataFlowAnalyzer, KotlinBuiltIns builtIns)
           
 
Method Summary
 KotlinTypeInfo getCallExpressionTypeInfo(KtCallExpression callExpression, ReceiverValue receiver, com.intellij.lang.ASTNode callOperationNode, ExpressionTypingContext context)
           
 KotlinTypeInfo getCallExpressionTypeInfoWithoutFinalTypeCheck(KtCallExpression callExpression, ReceiverValue receiver, com.intellij.lang.ASTNode callOperationNode, ExpressionTypingContext context)
          Visits a call expression and its arguments.
 KotlinTypeInfo getQualifiedExpressionTypeInfo(KtQualifiedExpression expression, ExpressionTypingContext context)
          Visits a qualified expression like x.y or x?.z controlling data flow information changes.
 ResolvedCall<FunctionDescriptor> getResolvedCallForFunction(Call call, KtExpression callExpression, ResolutionContext context, CheckArgumentTypesMode checkArguments, boolean[] result)
           
 KotlinTypeInfo getSimpleNameExpressionTypeInfo(KtSimpleNameExpression nameExpression, ReceiverValue receiver, com.intellij.lang.ASTNode callOperationNode, ExpressionTypingContext context)
           
 void setExpressionTypingServices(ExpressionTypingServices expressionTypingServices)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CallExpressionResolver

public CallExpressionResolver(@NotNull
                              CallResolver callResolver,
                              @NotNull
                              ConstantExpressionEvaluator constantExpressionEvaluator,
                              @NotNull
                              SymbolUsageValidator symbolUsageValidator,
                              @NotNull
                              DataFlowAnalyzer dataFlowAnalyzer,
                              @NotNull
                              KotlinBuiltIns builtIns)
Method Detail

setExpressionTypingServices

@Inject
public void setExpressionTypingServices(@NotNull
                                               ExpressionTypingServices expressionTypingServices)

getResolvedCallForFunction

@Nullable
public ResolvedCall<FunctionDescriptor> getResolvedCallForFunction(@NotNull
                                                                            Call call,
                                                                            @NotNull
                                                                            KtExpression callExpression,
                                                                            @NotNull
                                                                            ResolutionContext context,
                                                                            @NotNull
                                                                            CheckArgumentTypesMode checkArguments,
                                                                            @NotNull
                                                                            boolean[] result)

getSimpleNameExpressionTypeInfo

@NotNull
public KotlinTypeInfo getSimpleNameExpressionTypeInfo(@NotNull
                                                              KtSimpleNameExpression nameExpression,
                                                              @NotNull
                                                              ReceiverValue receiver,
                                                              @Nullable
                                                              com.intellij.lang.ASTNode callOperationNode,
                                                              @NotNull
                                                              ExpressionTypingContext context)

getCallExpressionTypeInfo

@NotNull
public KotlinTypeInfo getCallExpressionTypeInfo(@NotNull
                                                        KtCallExpression callExpression,
                                                        @NotNull
                                                        ReceiverValue receiver,
                                                        @Nullable
                                                        com.intellij.lang.ASTNode callOperationNode,
                                                        @NotNull
                                                        ExpressionTypingContext context)

getCallExpressionTypeInfoWithoutFinalTypeCheck

@NotNull
public KotlinTypeInfo getCallExpressionTypeInfoWithoutFinalTypeCheck(@NotNull
                                                                             KtCallExpression callExpression,
                                                                             @NotNull
                                                                             ReceiverValue receiver,
                                                                             @Nullable
                                                                             com.intellij.lang.ASTNode callOperationNode,
                                                                             @NotNull
                                                                             ExpressionTypingContext context)
Visits a call expression and its arguments. Determines the result type and data flow information after the call.


getQualifiedExpressionTypeInfo

@NotNull
public KotlinTypeInfo getQualifiedExpressionTypeInfo(@NotNull
                                                             KtQualifiedExpression expression,
                                                             @NotNull
                                                             ExpressionTypingContext context)
Visits a qualified expression like x.y or x?.z controlling data flow information changes.

Returns:
qualified expression type together with data flow information