From d377a7c070b0c08094d34a4f1ed9d9116d2465ac Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 14 Jun 2012 18:45:20 +0400 Subject: [PATCH] change dataFlowInfo after do-while loop --- .../types/expressions/ControlStructureTypingVisitor.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ControlStructureTypingVisitor.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ControlStructureTypingVisitor.java index 5ceeca993b8..b0d4e8ecb63 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ControlStructureTypingVisitor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ControlStructureTypingVisitor.java @@ -234,10 +234,14 @@ public class ControlStructureTypingVisitor extends ExpressionTypingVisitor { } JetExpression condition = expression.getCondition(); checkCondition(conditionScope, condition, context); + DataFlowInfo dataFlowInfo; if (!containsBreak(expression, context)) { - facade.setResultingDataFlowInfo(DataFlowUtils.extractDataFlowInfoFromCondition(condition, false, null, context)); + dataFlowInfo = DataFlowUtils.extractDataFlowInfoFromCondition(condition, false, null, context); } - return DataFlowUtils.checkType(JetStandardClasses.getUnitType(), expression, contextWithExpectedType, context.dataFlowInfo); + else { + dataFlowInfo = context.dataFlowInfo; + } + return DataFlowUtils.checkType(JetStandardClasses.getUnitType(), expression, contextWithExpectedType, dataFlowInfo); } @Override