/* * @see ASTVisitor#visit(InfixExpression) */ @Override public boolean visit(InfixExpression node) { node.getLeftOperand().accept(this); this.fBuffer.append(' '); // for cases like x= i - -1; or x= i++ + ++i; this.fBuffer.append(node.getOperator().toString()); this.fBuffer.append(' '); node.getRightOperand().accept(this); final List<Expression> extendedOperands = node.extendedOperands(); if (extendedOperands.size() != 0) { this.fBuffer.append(' '); for (Iterator<Expression> it = extendedOperands.iterator(); it.hasNext(); ) { this.fBuffer.append(node.getOperator().toString()).append(' '); Expression e = it.next(); e.accept(this); } } return false; }
/* (non-Javadoc) * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.InfixExpression) */ public boolean visit(InfixExpression node) { PTInfixExpression inf = InstantiationFactory.eINSTANCE.createPTInfixExpression(); inf.setLeftOperand(perform(node.getLeftOperand())); PTInfixOperator inoper = getParseInfix(node.getOperator()); if (inoper == null) { // It is not one we can handle. throw new InvalidExpressionException( MessageFormat.format( WorkbenchUtilityMessages.ParseTreeCreationFromAST_OperatorTooComplicatedToHandle_EXC_, new Object[] {node.getOperator().toString()})); } inf.setOperator(inoper); inf.setRightOperand(perform(node.getRightOperand())); List eops = inf.getExtendedOperands(); List neops = node.extendedOperands(); int nsize = neops.size(); for (int i = 0; i < nsize; i++) { eops.add(perform((Expression) neops.get(i))); } expression = inf; return false; }
public boolean visit(InfixExpression s) throws Exception { Map<String, String> parameters = createInitialParameters(s); parameters.put("operator", s.getOperator()); xmlWriter.startTag("InfixExpression", parameters); return true; }