diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java b/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java index 4e60b0a20ac..9ca5999322f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java @@ -140,11 +140,10 @@ public class JetControlFlowProcessor { private void checkNothingType(JetElement element) { if (!(element instanceof JetExpression)) return; JetExpression expression = JetPsiUtil.deparenthesize((JetExpression) element); - if (expression instanceof JetStatementExpression || expression instanceof JetTryExpression - || expression instanceof JetThrowExpression || expression instanceof JetFinallySection - || expression instanceof JetIfExpression || expression instanceof JetWhenExpression) return; - //noinspection ConstantConditions - if (!trace.get(BindingContext.PROCESSED, expression)) return; + if (expression instanceof JetStatementExpression || expression instanceof JetTryExpression + || expression instanceof JetIfExpression || expression instanceof JetWhenExpression) { + return; + } JetType type = trace.getBindingContext().get(BindingContext.EXPRESSION_TYPE, expression); if (type != null && KotlinBuiltIns.getInstance().isNothing(type)) { diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFinallySection.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFinallySection.java index af30c379d6a..f205dc1c5bb 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFinallySection.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFinallySection.java @@ -20,7 +20,7 @@ import com.intellij.lang.ASTNode; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.JetNodeTypes; -public class JetFinallySection extends JetElementImpl { +public class JetFinallySection extends JetElementImpl implements JetStatementExpression { public JetFinallySection(@NotNull ASTNode node) { super(node); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetThrowExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetThrowExpression.java index c4ab7e36401..0ea49d0a8b3 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetThrowExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetThrowExpression.java @@ -20,7 +20,7 @@ import com.intellij.lang.ASTNode; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class JetThrowExpression extends JetExpressionImpl { +public class JetThrowExpression extends JetExpressionImpl implements JetStatementExpression { public JetThrowExpression(@NotNull ASTNode node) { super(node); }