Example usage for org.eclipse.jdt.core.dom PostfixExpression.Operator toString

List of usage examples for org.eclipse.jdt.core.dom PostfixExpression.Operator toString

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.dom PostfixExpression.Operator toString.

Prototype

@Override
public final String toString() 

Source Link

Document

Returns a string representation of this node suitable for debugging purposes only.

Usage

From source file:org.eclipse.xtend.core.javaconverter.JavaASTFlattener.java

License:Open Source License

@Override
public boolean visit(final PostfixExpression node) {
    final AST dummyAST = AST.newAST(node.getAST().apiLevel());
    final PostfixExpression.Operator pfOperator = node.getOperator();
    Expression _operand = node.getOperand();
    if ((_operand instanceof ArrayAccess)) {
        Expression _operand_1 = node.getOperand();
        final ArrayAccess pfOperand = ((ArrayAccess) _operand_1);
        if ((Objects.equal(pfOperator, PostfixExpression.Operator.INCREMENT)
                || Objects.equal(pfOperator, PostfixExpression.Operator.DECREMENT))) {
            final String arrayName = this.computeArrayName(pfOperand);
            StringConcatenation _builder = new StringConcatenation();
            _builder.append("_postIndx_");
            _builder.append(arrayName);/*  w w  w .ja  v  a2  s  .c  om*/
            final String idxName = _builder.toString();
            StringConcatenation _builder_1 = new StringConcatenation();
            _builder_1.append("_postVal_");
            _builder_1.append(arrayName);
            final String tempVarName = _builder_1.toString();
            StringConcatenation _builder_2 = new StringConcatenation();
            _builder_2.append("{ var ");
            _builder_2.append(idxName);
            _builder_2.append("=");
            this.appendToBuffer(_builder_2.toString());
            pfOperand.getIndex().accept(this);
            StringConcatenation _builder_3 = new StringConcatenation();
            _builder_3.append(" ");
            _builder_3.append("var  ");
            this.appendToBuffer(_builder_3.toString());
            final VariableDeclarationFragment varDeclaration = dummyAST.newVariableDeclarationFragment();
            varDeclaration.setName(dummyAST.newSimpleName(tempVarName));
            ASTNode _copySubtree = ASTNode.copySubtree(dummyAST, pfOperand);
            final ArrayAccess arrayAccess = ((ArrayAccess) _copySubtree);
            arrayAccess.setIndex(dummyAST.newSimpleName(idxName));
            varDeclaration.setInitializer(arrayAccess);
            varDeclaration.accept(this);
            final InfixExpression infixOp = dummyAST.newInfixExpression();
            infixOp.setLeftOperand(dummyAST.newSimpleName(tempVarName));
            PostfixExpression.Operator _operator = node.getOperator();
            boolean _equals = Objects.equal(_operator, PostfixExpression.Operator.DECREMENT);
            if (_equals) {
                infixOp.setOperator(InfixExpression.Operator.MINUS);
            } else {
                infixOp.setOperator(InfixExpression.Operator.PLUS);
            }
            infixOp.setRightOperand(dummyAST.newNumberLiteral("1"));
            final Assignment assigment = dummyAST.newAssignment();
            ASTNode _copySubtree_1 = ASTNode.copySubtree(dummyAST, pfOperand);
            final ArrayAccess writeArray = ((ArrayAccess) _copySubtree_1);
            writeArray.setIndex(dummyAST.newSimpleName(idxName));
            assigment.setLeftHandSide(writeArray);
            ASTNode _copySubtree_2 = ASTNode.copySubtree(dummyAST, infixOp);
            assigment.setRightHandSide(((Expression) _copySubtree_2));
            assigment.accept(this);
            StringConcatenation _builder_4 = new StringConcatenation();
            String _xifexpression = null;
            boolean _needsReturnValue = this._aSTFlattenerUtils.needsReturnValue(node);
            if (_needsReturnValue) {
                _xifexpression = tempVarName;
            }
            _builder_4.append(_xifexpression);
            _builder_4.append(" }");
            this.appendToBuffer(_builder_4.toString());
            return false;
        }
    }
    node.getOperand().accept(this);
    this.appendToBuffer(pfOperator.toString());
    return false;
}