pub trait ParseTreeVisitorCompat<'input>: VisitChildren<'input, Self::Node> {
type Node: ParserNodeType<'input>;
type Return: Default;
// Required method
fn temp_result(&mut self) -> &mut Self::Return;
// Provided methods
fn visit(
&mut self,
node: &<Self::Node as ParserNodeType<'input>>::Type,
) -> Self::Return { ... }
fn visit_terminal(
&mut self,
_node: &TerminalNode<'input, Self::Node>,
) -> Self::Return { ... }
fn visit_error_node(
&mut self,
_node: &ErrorNode<'input, Self::Node>,
) -> Self::Return { ... }
fn visit_children(
&mut self,
node: &<Self::Node as ParserNodeType<'input>>::Type,
) -> Self::Return { ... }
fn aggregate_results(
&self,
aggregate: Self::Return,
next: Self::Return,
) -> Self::Return { ... }
fn should_visit_next_child(
&self,
node: &<Self::Node as ParserNodeType<'input>>::Type,
current: &Self::Return,
) -> bool { ... }
}
Required Associated Types§
Required Methods§
Sourcefn temp_result(&mut self) -> &mut Self::Return
fn temp_result(&mut self) -> &mut Self::Return
Temporary storage for ParseTreeVisitor
blanket implementation to work
Provided Methods§
fn visit( &mut self, node: &<Self::Node as ParserNodeType<'input>>::Type, ) -> Self::Return
Sourcefn visit_terminal(
&mut self,
_node: &TerminalNode<'input, Self::Node>,
) -> Self::Return
fn visit_terminal( &mut self, _node: &TerminalNode<'input, Self::Node>, ) -> Self::Return
Called on terminal(leaf) node
Sourcefn visit_error_node(
&mut self,
_node: &ErrorNode<'input, Self::Node>,
) -> Self::Return
fn visit_error_node( &mut self, _node: &ErrorNode<'input, Self::Node>, ) -> Self::Return
Called on error node
fn visit_children( &mut self, node: &<Self::Node as ParserNodeType<'input>>::Type, ) -> Self::Return
fn aggregate_results( &self, aggregate: Self::Return, next: Self::Return, ) -> Self::Return
fn should_visit_next_child( &self, node: &<Self::Node as ParserNodeType<'input>>::Type, current: &Self::Return, ) -> bool
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.