ArrayInitializerExpression added
This commit is contained in:
@@ -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
|
@Override
|
||||||
public void visitArrayInitializerExpression(PsiArrayInitializerExpression expression) {
|
public void visitArrayInitializerExpression(PsiArrayInitializerExpression expression) {
|
||||||
super.visitArrayInitializerExpression(expression);
|
super.visitArrayInitializerExpression(expression);
|
||||||
|
myResult = new ArrayInitializerExpression(
|
||||||
|
expressionsToExpressionList(expression.getInitializers())
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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))"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user