postfix operator added
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package org.jetbrains.jet.j2k.ast;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* @author ignatov
|
||||
*/
|
||||
public class PostfixOperator extends Expression {
|
||||
private final String myOp;
|
||||
private final Expression myExpression;
|
||||
|
||||
public PostfixOperator(String op, Expression expression) {
|
||||
myOp = op;
|
||||
myExpression = expression;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String toKotlin() {
|
||||
return "(" + myExpression.toKotlin() + myOp + ")";
|
||||
}
|
||||
}
|
||||
@@ -174,6 +174,15 @@ public class ExpressionVisitor extends StatementVisitor implements Visitor {
|
||||
@Override
|
||||
public void visitPostfixExpression(PsiPostfixExpression expression) {
|
||||
super.visitPostfixExpression(expression);
|
||||
|
||||
String op = "";
|
||||
if (expression.getOperationSign().getTokenType() == JavaTokenType.PLUSPLUS) op = "++";
|
||||
if (expression.getOperationSign().getTokenType() == JavaTokenType.MINUSMINUS) op = "--";
|
||||
|
||||
myResult = new PostfixOperator(
|
||||
op,
|
||||
expressionToExpression(expression.getOperand())
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package org.jetbrains.jet.j2k.ast;
|
||||
|
||||
import junit.framework.Assert;
|
||||
import org.jetbrains.jet.j2k.JetTestCaseBase;
|
||||
|
||||
/**
|
||||
* @author ignatov
|
||||
*/
|
||||
public class PostfixOperatorTest extends JetTestCaseBase {
|
||||
public void testIncrement() throws Exception {
|
||||
Assert.assertEquals(statementToKotlin("i++;"), "(i++)");
|
||||
}
|
||||
|
||||
public void testDecrement() throws Exception {
|
||||
Assert.assertEquals(statementToKotlin("i--;"), "(i--)");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user