pub trait Visitor<'a, L: Language> {
// Required methods
fn visit_node_pre(&mut self, node: RedNode<'a, L>) -> VisitResult;
fn visit_node_post(&mut self, node: RedNode<'a, L>) -> VisitResult;
fn visit_token(&mut self, token: RedLeaf<L>) -> VisitResult;
// Provided methods
fn visit_node_pre_default(&mut self, _node: RedNode<'a, L>) -> VisitResult { ... }
fn visit_node_post_default(&mut self, _node: RedNode<'a, L>) -> VisitResult { ... }
fn visit_token_default(&mut self, _token: RedLeaf<L>) -> VisitResult { ... }
}Expand description
A visitor for AST nodes.
This trait extends the existing Visitor trait with additional methods for more flexible traversal and modification.
Required Methods§
Sourcefn visit_node_pre(&mut self, node: RedNode<'a, L>) -> VisitResult
fn visit_node_pre(&mut self, node: RedNode<'a, L>) -> VisitResult
Visits a node before its children.
Sourcefn visit_node_post(&mut self, node: RedNode<'a, L>) -> VisitResult
fn visit_node_post(&mut self, node: RedNode<'a, L>) -> VisitResult
Visits a node after its children.
Sourcefn visit_token(&mut self, token: RedLeaf<L>) -> VisitResult
fn visit_token(&mut self, token: RedLeaf<L>) -> VisitResult
Visits a token.
Provided Methods§
Sourcefn visit_node_pre_default(&mut self, _node: RedNode<'a, L>) -> VisitResult
fn visit_node_pre_default(&mut self, _node: RedNode<'a, L>) -> VisitResult
Default implementation that just continues traversal.
Sourcefn visit_node_post_default(&mut self, _node: RedNode<'a, L>) -> VisitResult
fn visit_node_post_default(&mut self, _node: RedNode<'a, L>) -> VisitResult
Default implementation that just continues traversal.
Sourcefn visit_token_default(&mut self, _token: RedLeaf<L>) -> VisitResult
fn visit_token_default(&mut self, _token: RedLeaf<L>) -> VisitResult
Default implementation that just continues traversal.