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}