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
|
||||
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))"
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user