List of usage examples for org.eclipse.jdt.core.dom InfixExpression.Operator equals
@Override public final boolean equals(Object obj)
ASTNode
implementation of this Object
method uses object identity (==). 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); }