ArrayInitializerExpression added

This commit is contained in:
Sergey Ignatov
2011-10-31 18:54:53 +04:00
parent e805b22325
commit 5d0b9b2517
3 changed files with 56 additions and 0 deletions
@@ -0,0 +1,23 @@
package org.jetbrains.jet.j2k.ast;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.j2k.util.AstUtil;
import java.util.List;
/**
* @author ignatov
*/
public class ArrayInitializerExpression extends Expression {
private final List<Expression> myInitializers;
public ArrayInitializerExpression(List<Expression> initializers) {
myInitializers = initializers;
}
@NotNull
@Override
public String toKotlin() {
return "array" + "(" + AstUtil.joinNodes(myInitializers, COMMA_WITH_SPACE) + ")";
}
}
@@ -32,6 +32,9 @@ public class ExpressionVisitor extends StatementVisitor implements Visitor {
@Override
public void visitArrayInitializerExpression(PsiArrayInitializerExpression expression) {
super.visitArrayInitializerExpression(expression);
myResult = new ArrayInitializerExpression(
expressionsToExpressionList(expression.getInitializers())
);
}
@Override
@@ -0,0 +1,30 @@
package org.jetbrains.jet.j2k.ast;
import junit.framework.Assert;
import org.jetbrains.jet.j2k.JetTestCaseBase;
/**
* @author ignatov
*/
public class ArrayInitializerExpressionTest extends JetTestCaseBase {
public void testOneDim() throws Exception {
Assert.assertEquals(
expressionToSingleLineKotlin("{1, 2, 3};"),
"array(1, 2, 3)"
);
}
public void testOneDimWithVariables() throws Exception {
Assert.assertEquals(
expressionToSingleLineKotlin("{a, b, c};"),
"array(a, b, c)"
);
}
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))"
);
}
}