use super::prelude::*;
use super::VisitRes;
use super::VisitRes::Walk;
pub trait Visitor<'script> {
fn visit_expr(&mut self, _e: &mut Expr<'script>) -> Result<VisitRes> {
Ok(Walk)
}
fn leave_expr(&mut self, _e: &mut Expr<'script>) -> Result<()> {
Ok(())
}
fn visit_fn_defn(&mut self, _e: &mut FnDefn<'script>) -> Result<VisitRes> {
Ok(Walk)
}
fn leave_fn_defn(&mut self, _e: &mut FnDefn<'script>) -> Result<()> {
Ok(())
}
fn visit_comprehension(
&mut self,
_comp: &mut Comprehension<'script, Expr<'script>>,
) -> Result<VisitRes> {
Ok(Walk)
}
fn leave_comprehension(
&mut self,
_comp: &mut Comprehension<'script, Expr<'script>>,
) -> Result<()> {
Ok(())
}
fn visit_emit(&mut self, _emit: &mut EmitExpr<'script>) -> Result<VisitRes> {
Ok(Walk)
}
fn leave_emit(&mut self, _emit: &mut EmitExpr<'script>) -> Result<()> {
Ok(())
}
fn visit_ifelse(&mut self, _mifelse: &mut IfElse<'script, Expr<'script>>) -> Result<VisitRes> {
Ok(Walk)
}
fn leave_ifelse(&mut self, _mifelse: &mut IfElse<'script, Expr<'script>>) -> Result<()> {
Ok(())
}
fn visit_default_case(
&mut self,
_mdefault: &mut DefaultCase<Expr<'script>>,
) -> Result<VisitRes> {
Ok(Walk)
}
fn leave_default_case(&mut self, _mdefault: &mut DefaultCase<Expr<'script>>) -> Result<()> {
Ok(())
}
fn visit_mmatch(&mut self, _mmatch: &mut Match<'script, Expr<'script>>) -> Result<VisitRes> {
Ok(Walk)
}
fn leave_mmatch(&mut self, _mmatch: &mut Match<'script, Expr<'script>>) -> Result<()> {
Ok(())
}
fn visit_clause_group(
&mut self,
_group: &mut ClauseGroup<'script, Expr<'script>>,
) -> Result<VisitRes> {
Ok(Walk)
}
fn leave_clause_group(
&mut self,
_group: &mut ClauseGroup<'script, Expr<'script>>,
) -> Result<()> {
Ok(())
}
fn visit_predicate_clause(
&mut self,
_predicate: &mut PredicateClause<'script, Expr<'script>>,
) -> Result<VisitRes> {
Ok(Walk)
}
fn leave_predicate_clause(
&mut self,
_predicate: &mut PredicateClause<'script, Expr<'script>>,
) -> Result<()> {
Ok(())
}
}