From 5ceb973ee9495d73a05b938cc4cdf1d1e170438b Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 11 Jan 2016 14:13:34 +0300 Subject: [PATCH] Minor refactoring of getQualifiedExpressionTypeInfo --- .../kotlin/resolve/calls/CallExpressionResolver.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallExpressionResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallExpressionResolver.java index ce1a68ab62d..bdd3346a84f 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallExpressionResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallExpressionResolver.java @@ -399,7 +399,6 @@ public class CallExpressionResolver { boolean unconditional = true; DataFlowInfo unconditionalDataFlowInfo = receiverDataFlowInfo; - ExpressionTypingContext contextForSelector = currentContext; for (CallExpressionElement element : elementChain) { if (receiverType == null) { @@ -413,14 +412,14 @@ public class CallExpressionResolver { boolean lastStage = element.getQualified() == expression; // Drop NO_EXPECTED_TYPE / INDEPENDENT at last stage - ExpressionTypingContext baseContext = lastStage ? context : currentContext; + ExpressionTypingContext contextForSelector = lastStage ? context : currentContext; if (TypeUtils.isNullableType(receiverType) && !element.getSafe()) { // Call with nullable receiver: take unconditional data flow info - contextForSelector = baseContext.replaceDataFlowInfo(unconditionalDataFlowInfo); + contextForSelector = contextForSelector.replaceDataFlowInfo(unconditionalDataFlowInfo); } else { // Take data flow info from the current receiver - contextForSelector = baseContext.replaceDataFlowInfo(receiverDataFlowInfo); + contextForSelector = contextForSelector.replaceDataFlowInfo(receiverDataFlowInfo); } if (receiver instanceof ReceiverValue) {