From c0bb256868a7a66026ca1794f1840a75c865203a Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Mon, 31 Oct 2011 19:50:47 +0400 Subject: [PATCH] new int[] {1, 2, 3} now converted to array(1, 2, 3) --- .../jet/j2k/visitors/ExpressionVisitor.java | 14 +++++--------- .../j2k/ast/ArrayInitializerExpressionTest.java | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java b/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java index cf768e2667f..53ed864d091 100644 --- a/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java +++ b/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java @@ -129,16 +129,10 @@ public class ExpressionVisitor extends StatementVisitor implements Visitor { ); } - @Override - public void visitExpressionStatement(PsiExpressionStatement statement) { - super.visitExpressionStatement(statement); - } - @Override public void visitExpressionList(PsiExpressionList list) { super.visitExpressionList(list); - myResult = - new ExpressionList(expressionsToExpressionList(list.getExpressions())); + myResult = new ExpressionList(expressionsToExpressionList(list.getExpressions())); } @Override @@ -159,8 +153,7 @@ public class ExpressionVisitor extends StatementVisitor implements Visitor { @Override public void visitMethodCallExpression(PsiMethodCallExpression expression) { super.visitMethodCallExpression(expression); - // TODO: not resolved - myResult = + myResult = // TODO: not resolved new MethodCallExpression( expressionToExpression(expression.getMethodExpression()), elementToElement(expression.getArgumentList()) @@ -175,6 +168,9 @@ public class ExpressionVisitor extends StatementVisitor implements Visitor { @Override public void visitNewExpression(PsiNewExpression expression) { super.visitNewExpression(expression); + + if (expression.getArrayInitializer() != null) // new Foo[] {} + myResult = expressionToExpression(expression.getArrayInitializer()); } @Override diff --git a/test/org/jetbrains/jet/j2k/ast/ArrayInitializerExpressionTest.java b/test/org/jetbrains/jet/j2k/ast/ArrayInitializerExpressionTest.java index 63b8e20f0f8..fb24555f588 100644 --- a/test/org/jetbrains/jet/j2k/ast/ArrayInitializerExpressionTest.java +++ b/test/org/jetbrains/jet/j2k/ast/ArrayInitializerExpressionTest.java @@ -21,10 +21,25 @@ public class ArrayInitializerExpressionTest extends JetTestCaseBase { ); } + public void testNewInt() throws Exception { + Assert.assertEquals( + expressionToSingleLineKotlin("new int[] {1, 2, 3};"), + "array(1, 2, 3)" + ); + } + public void testTwoDim() throws Exception { Assert.assertEquals( expressionToSingleLineKotlin("{ {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };"), "array(array(1, 2, 3), array(4, 5, 6), array(7, 8, 9))" ); } + +// TODO +// public void testTwoDimNewInt() throws Exception { +// Assert.assertEquals( +// statementToSingleLineKotlin("int[][] myArray = new int[5][];"), +// "array(1, 2, 3)" +// ); +// } }