package ql.ast.expression; /** * Created by bore on 16/03/15. */ public abstract class DefaultExprVisitor<T> implements ExprVisitor<T> { public abstract T visitDefault(Expr e); public abstract T visitBinary(BinaryExpr e); public abstract T visitUnary(UnaryExpr e); @Override public T visit(BoolExpr e) { return this.visitDefault(e); } @Override public T visit(IntExpr e) { return this.visitDefault(e); } @Override public T visit(DecExpr e) { return this.visitDefault(e); } @Override public T visit(StrExpr e) { return this.visitDefault(e); } @Override public T visit(Ident e) { return this.visitDefault(e); } @Override public T visit(Neg e) { return this.visitUnary(e); } @Override public T visit(Pos e) { return this.visitUnary(e); } @Override public T visit(Not e) { return this.visitUnary(e); } @Override public T visit(Add e) { return this.visitBinary(e); } @Override public T visit(Sub e) { return this.visitBinary(e); } @Override public T visit(Mul e) { return this.visitBinary(e); } @Override public T visit(Div e) { return this.visitBinary(e); } @Override public T visit(Gt e) { return this.visitBinary(e); } @Override public T visit(Lt e) { return this.visitBinary(e); } @Override public T visit(GtEqu e) { return this.visitBinary(e); } @Override public T visit(LtEqu e) { return this.visitBinary(e); } @Override public T visit(Equ e) { return this.visitBinary(e); } @Override public T visit(NotEqu e) { return this.visitBinary(e); } @Override public T visit(And e) { return this.visitBinary(e); } @Override public T visit(Or e) { return this.visitBinary(e); } }