php_parser_rs/traverser/
mod.rs

1use std::fmt::Debug;
2
3use crate::node::Node;
4
5pub trait Visitor<E: Debug> {
6    fn visit_node(&mut self, node: &mut dyn Node) -> Result<(), E> {
7        self.visit(node)?;
8
9        for child in node.children() {
10            self.visit_node(child)?;
11        }
12
13        Ok(())
14    }
15
16    fn visit(&mut self, node: &mut dyn Node) -> Result<(), E>;
17}