1 package spoon.examples.visitor.processing;2 3 import spoon.examples.visitor.src.VisitedElement;4 import spoon.examples.visitor.src.expression.BinaryOperatorExpression;5 import spoon.examples.visitor.src.expression.Expression;6 import spoon.examples.visitor.src.expression.IntegerExpression;7 import spoon.examples.visitor.src.expression.MinusOperatorExpression;8 import spoon.examples.visitor.src.expression.PlusOperatorExpression;9 10 public class PrintExpressionVisitor {11 12 public void visitExpression(Expression e) {13 ((VisitedElement)e).accept(this);14 }15 16 public void visitIntegerExpression(IntegerExpression e) {17 System.out.print(e.getValue());18 }19 20 public void visitPlusOperatorExpression(PlusOperatorExpression e) {21 System.out.print(" ( ");22 visitExpression(e.getLeft());23 System.out.print(" + ");24 visitExpression(e.getRight());25 System.out.print(" ) ");26 }27 28 public void visitMinusOperatorExpression(MinusOperatorExpression e) {29 System.out.print(" ( ");30 visitExpression(e.getLeft());31 System.out.print(" - ");32 visitExpression(e.getRight());33 System.out.print(" ) ");34 }35 36 public void visitBinaryOperatorExpression(BinaryOperatorExpression e) {37 }38 39 }40