Skip to main content

Visitor

Trait Visitor 

Source
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§

Source

fn visit_node_pre(&mut self, node: RedNode<'a, L>) -> VisitResult

Visits a node before its children.

Source

fn visit_node_post(&mut self, node: RedNode<'a, L>) -> VisitResult

Visits a node after its children.

Source

fn visit_token(&mut self, token: RedLeaf<L>) -> VisitResult

Visits a token.

Provided Methods§

Source

fn visit_node_pre_default(&mut self, _node: RedNode<'a, L>) -> VisitResult

Default implementation that just continues traversal.

Source

fn visit_node_post_default(&mut self, _node: RedNode<'a, L>) -> VisitResult

Default implementation that just continues traversal.

Source

fn visit_token_default(&mut self, _token: RedLeaf<L>) -> VisitResult

Default implementation that just continues traversal.

Implementors§