made try, finally and throw expressions implement JetStatementExpression

This commit is contained in:
svtk
2013-11-19 19:09:48 +04:00
parent 2bd4aa97c6
commit efd5f69330
3 changed files with 6 additions and 7 deletions
@@ -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)) {
@@ -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);
}
@@ -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);
}