コード例 #1
0
 /*
  * @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;
 }
コード例 #2
0
 /* (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;
 }
コード例 #3
0
ファイル: ASTPrintVisitor.java プロジェクト: anod/pdt
 public boolean visit(InfixExpression s) throws Exception {
   Map<String, String> parameters = createInitialParameters(s);
   parameters.put("operator", s.getOperator());
   xmlWriter.startTag("InfixExpression", parameters);
   return true;
 }