From 4f028e41be22ab52805c199cf19c0c175bae9566 Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Thu, 7 Feb 2013 18:22:37 +0400 Subject: [PATCH] explicitly invoke callExpressionResolver with NO_EXPECTED_TYPE for inner calls --- .../jet/lang/resolve/calls/ArgumentTypeResolver.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/ArgumentTypeResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/ArgumentTypeResolver.java index 90f46d8647c..86c09ddcb19 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/ArgumentTypeResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/ArgumentTypeResolver.java @@ -34,6 +34,7 @@ import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue; import org.jetbrains.jet.lang.types.ErrorUtils; import org.jetbrains.jet.lang.types.JetType; +import org.jetbrains.jet.lang.types.TypeUtils; import org.jetbrains.jet.lang.types.checker.JetTypeChecker; import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices; import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; @@ -179,10 +180,12 @@ public class ArgumentTypeResolver { TypeInfoForCall result = null; if (expression instanceof JetCallExpression) { result = callExpressionResolver.getCallExpressionTypeInfoForCall( - (JetCallExpression) expression, ReceiverValue.NO_RECEIVER, null, context, ResolveMode.INTERNAL); + (JetCallExpression) expression, ReceiverValue.NO_RECEIVER, null, + context.replaceExpectedType(TypeUtils.NO_EXPECTED_TYPE), ResolveMode.INTERNAL); } if (expression instanceof JetQualifiedExpression) { - result = callExpressionResolver.getQualifiedExpressionExtendedTypeInfo((JetQualifiedExpression) expression, context, ResolveMode.INTERNAL); + result = callExpressionResolver.getQualifiedExpressionExtendedTypeInfo( + (JetQualifiedExpression) expression, context.replaceExpectedType(TypeUtils.NO_EXPECTED_TYPE), ResolveMode.INTERNAL); } if (result != null) { recordExpressionType(expression, context, result.getTypeInfo());