Example usage for org.eclipse.jdt.core.dom InfixExpression.Operator equals

List of usage examples for org.eclipse.jdt.core.dom InfixExpression.Operator equals

Introduction

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

Prototype

@Override
public final boolean equals(Object obj) 

Source Link

Document

The ASTNode implementation of this Object method uses object identity (==).

Usage

From source file:com.google.devtools.j2cpp.gen.CppStatementGenerator.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override// w  w w.  jav  a2 s . c  o  m
public boolean visit(InfixExpression node) {
    InfixExpression.Operator op = node.getOperator();
    ITypeBinding type = Types.getTypeBinding(node);
    if (Types.isJavaStringType(type) && op.equals(InfixExpression.Operator.PLUS)) {
        printStringConcatenation(node.getLeftOperand(), node.getRightOperand(), node.extendedOperands(), false);
    } else if (op.equals(InfixExpression.Operator.RIGHT_SHIFT_UNSIGNED)) {
        printUnsignedRightShift(node.getLeftOperand(), node.getRightOperand());
    } else if (op.equals(InfixExpression.Operator.REMAINDER) && isFloatingPoint(node)) {
        buffer.append(type.isEqualTo(node.getAST().resolveWellKnownType("float")) ? "fmodf" : "fmod");
        buffer.append('(');
        node.getLeftOperand().accept(this);
        buffer.append(", ");
        node.getRightOperand().accept(this);
        buffer.append(')');
    } else {
        node.getLeftOperand().accept(this);
        buffer.append(' ');
        buffer.append(node.getOperator().toString());
        buffer.append(' ');
        node.getRightOperand().accept(this);
        final List<Expression> extendedOperands = node.extendedOperands();
        if (extendedOperands.size() != 0) {
            buffer.append(' ');
            for (Iterator<Expression> it = extendedOperands.iterator(); it.hasNext();) {
                buffer.append(node.getOperator().toString()).append(' ');
                it.next().accept(this);
            }
        }
    }
    return false;
}

From source file:com.google.devtools.j2objc.gen.StatementGenerator.java

License:Open Source License

@Override
public boolean visit(InfixExpression node) {
    InfixExpression.Operator op = node.getOperator();
    Expression lhs = node.getLeftOperand();
    Expression rhs = node.getRightOperand();
    List<Expression> extendedOperands = node.getExtendedOperands();
    if ((op.equals(InfixExpression.Operator.EQUALS) || op.equals(InfixExpression.Operator.NOT_EQUALS))
            && (lhs instanceof StringLiteral || rhs instanceof StringLiteral)) {
        Expression first = lhs;//from w  w  w.ja v  a2  s.c o m
        Expression second = rhs;
        if (!(lhs instanceof StringLiteral)) {
            // In case the lhs can't call isEqual.
            first = rhs;
            second = lhs;
        }
        buffer.append(op.equals(InfixExpression.Operator.NOT_EQUALS) ? "![" : "[");
        first.accept(this);
        buffer.append(" isEqual:");
        second.accept(this);
        buffer.append("]");
    } else {
        lhs.accept(this);
        buffer.append(' ');
        buffer.append(op.toString());
        buffer.append(' ');
        rhs.accept(this);
        for (Iterator<Expression> it = extendedOperands.iterator(); it.hasNext();) {
            buffer.append(' ').append(op.toString()).append(' ');
            it.next().accept(this);
        }
    }
    return false;
}

From source file:org.autorefactor.refactoring.ASTHelper.java

License:Open Source License

/**
 * Returns whether the provided operator is the same as the one of provided node.
 *
 * @param node the node for which to test the operator
 * @param operator the operator to test//ww w  .  j a  v  a 2s  .  c  o  m
 * @return true if the provided node has the provided operator, false otherwise.
 */
public static boolean hasOperator(InfixExpression node, InfixExpression.Operator operator) {
    return node != null && operator.equals(node.getOperator());
}

From source file:ptolemy.backtrack.eclipse.ast.TypeAnalyzer.java

License:Open Source License

/** Visit an infix expression and compute the type for it.
 *
 *  @param node The node to be visited./*from   w ww.  ja va 2  s .  com*/
 */
public void endVisit(InfixExpression node) {
    InfixExpression.Operator operator = node.getOperator();
    Expression leftHand = node.getLeftOperand();
    Expression rightHand = node.getRightOperand();
    List extendedOps = node.extendedOperands();
    Type type = null;

    if (operator.equals(InfixExpression.Operator.PLUS) || operator.equals(InfixExpression.Operator.MINUS)
            || operator.equals(InfixExpression.Operator.TIMES)
            || operator.equals(InfixExpression.Operator.DIVIDE)
            || operator.equals(InfixExpression.Operator.REMAINDER)
            || operator.equals(InfixExpression.Operator.LEFT_SHIFT)
            || operator.equals(InfixExpression.Operator.RIGHT_SHIFT_SIGNED)
            || operator.equals(InfixExpression.Operator.RIGHT_SHIFT_UNSIGNED)
            || operator.equals(InfixExpression.Operator.AND) || operator.equals(InfixExpression.Operator.OR)
            || operator.equals(InfixExpression.Operator.XOR)) {
        type = Type.getCommonType(Type.getType(leftHand), Type.getType(rightHand));

        Iterator extendedIter = extendedOps.iterator();

        while ((type != null) && extendedIter.hasNext()) {
            type = Type.getCommonType(type, Type.getType((Expression) extendedIter.next()));
        }
    } else if (operator.equals(InfixExpression.Operator.LESS)
            || operator.equals(InfixExpression.Operator.LESS_EQUALS)
            || operator.equals(InfixExpression.Operator.GREATER)
            || operator.equals(InfixExpression.Operator.GREATER_EQUALS)
            || operator.equals(InfixExpression.Operator.CONDITIONAL_AND)
            || operator.equals(InfixExpression.Operator.CONDITIONAL_OR)
            || operator.equals(InfixExpression.Operator.EQUALS)
            || operator.equals(InfixExpression.Operator.NOT_EQUALS)) {
        type = Type.BOOLEAN_TYPE;
    } else {
        throw new UnknownASTException();
    }

    if (type == null) {
        throw new UnknownASTException();
    }

    Type.setType(node, type);
}