Trait ParseTreeVisitor

Source
pub trait ParseTreeVisitor<'input, Node: ParserNodeType<'input>>: VisitChildren<'input, Node> {
    // Provided methods
    fn visit_terminal(&mut self, _node: &TerminalNode<'input, Node>) { ... }
    fn visit_error_node(&mut self, _node: &ErrorNode<'input, Node>) { ... }
    fn visit_children(&mut self, node: &Node::Type) { ... }
}
Expand description

Base interface for visiting over syntax tree

Provided Methods§

Source

fn visit_terminal(&mut self, _node: &TerminalNode<'input, Node>)

Basically alias for node.accept(self) in visitor implementation just to make api closer to java Called on terminal(leaf) node

Source

fn visit_error_node(&mut self, _node: &ErrorNode<'input, Node>)

Called on error node

Source

fn visit_children(&mut self, node: &Node::Type)

Implement this only if you want to change children visiting algorithm

Implementors§

Source§

impl<'input, Node, T> ParseTreeVisitor<'input, Node> for T
where Node: ParserNodeType<'input>, Node::Type: VisitableDyn<Self>, T: ParseTreeVisitorCompat<'input, Node = Node>,