code: // Generated from edu/utexas/cs/utopia/cortado/expression/parser/Expr.g4 by ANTLR 4.9
  package edu.utexas.cs.utopia.cortado.expression.parser;
  import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor;
  
  /**
   * This class provides an empty implementation of {@link ExprVisitor},
   * which can be extended to create a visitor which only needs to handle a subset
   * of the available methods.
   *
   * @param <T> The return type of the visit operation. Use {@link Void} for
   * operations with no return type.
   */
  public class ExprBaseVisitor<T> extends AbstractParseTreeVisitor<T> implements ExprVisitor<T> {
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitExpr(ExprParser.ExprContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitType(ExprParser.TypeContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitIntTy(ExprParser.IntTyContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitBoolTy(ExprParser.BoolTyContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitStringTy(ExprParser.StringTyContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitNullFuncTy(ExprParser.NullFuncTyContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitNaryFuncTy(ExprParser.NaryFuncTyContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitArray_type(ExprParser.Array_typeContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitConstant_decl(ExprParser.Constant_declContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitSexpr(ExprParser.SexprContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitSexpr_types(ExprParser.Sexpr_typesContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitBuildinUnOp(ExprParser.BuildinUnOpContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitUninterpUnOp(ExprParser.UninterpUnOpContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitBuildinBinOp(ExprParser.BuildinBinOpContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitUninterpBinOp(ExprParser.UninterpBinOpContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitBuildinNOp(ExprParser.BuildinNOpContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitUninterpNOp(ExprParser.UninterpNOpContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitQuant_expr(ExprParser.Quant_exprContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitSexpr_arg(ExprParser.Sexpr_argContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitNullaryApp(ExprParser.NullaryAppContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitPrimConst(ExprParser.PrimConstContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitIntConst(ExprParser.IntConstContext ctx) { return visitChildren(ctx); }
  	/**
  	 * {@inheritDoc}
  	 *
  	 * <p>The default implementation returns the result of calling
  	 * {@link #visitChildren} on {@code ctx}.</p>
  	 */
  	@Override public T visitBoolConst(ExprParser.BoolConstContext ctx) { return visitChildren(ctx); }
  }