diff --git a/src/org/jetbrains/jet/j2k/ast/ThrowStatement.java b/src/org/jetbrains/jet/j2k/ast/ThrowStatement.java new file mode 100644 index 00000000000..298650d1f3c --- /dev/null +++ b/src/org/jetbrains/jet/j2k/ast/ThrowStatement.java @@ -0,0 +1,20 @@ +package org.jetbrains.jet.j2k.ast; + +import org.jetbrains.annotations.NotNull; + +/** + * @author ignatov + */ +public class ThrowStatement extends Expression { + private final Expression myExpression; + + public ThrowStatement(Expression expression) { + myExpression = expression; + } + + @NotNull + @Override + public String toKotlin() { + return "throw" + SPACE + myExpression.toKotlin(); + } +} diff --git a/src/org/jetbrains/jet/j2k/visitors/StatementVisitor.java b/src/org/jetbrains/jet/j2k/visitors/StatementVisitor.java index 56ca0ee5f93..9e35b47c617 100644 --- a/src/org/jetbrains/jet/j2k/visitors/StatementVisitor.java +++ b/src/org/jetbrains/jet/j2k/visitors/StatementVisitor.java @@ -25,7 +25,6 @@ public class StatementVisitor extends ElementVisitor implements Visitor { @Override public void visitAssertStatement(PsiAssertStatement statement) { super.visitAssertStatement(statement); - myResult = new AssertStatement( expressionToExpression(statement.getAssertCondition()), expressionToExpression(statement.getAssertDescription()) @@ -96,7 +95,6 @@ public class StatementVisitor extends ElementVisitor implements Visitor { super.visitExpressionListStatement(statement); myResult = new ExpressionListStatement(expressionsToExpressionList(statement.getExpressionList().getExpressions())); - } @Override @@ -179,6 +177,9 @@ public class StatementVisitor extends ElementVisitor implements Visitor { @Override public void visitThrowStatement(PsiThrowStatement statement) { super.visitThrowStatement(statement); + myResult = new ThrowStatement( + expressionToExpression(statement.getException()) + ); } @Override diff --git a/test/org/jetbrains/jet/j2k/ast/ThrowStatementTest.java b/test/org/jetbrains/jet/j2k/ast/ThrowStatementTest.java new file mode 100644 index 00000000000..570c7b360ee --- /dev/null +++ b/test/org/jetbrains/jet/j2k/ast/ThrowStatementTest.java @@ -0,0 +1,14 @@ +package org.jetbrains.jet.j2k.ast; + +import junit.framework.Assert; +import org.jetbrains.jet.j2k.JetTestCaseBase; + +/** + * @author ignatov + */ +public class ThrowStatementTest extends JetTestCaseBase { + public void testSimpleThrowStatement() throws Exception { + Assert.assertEquals( + statementToSingleLineKotlin("throw exception;"), "throw exception"); + } +}