pub trait TreeNodeRewriter<N: TreeNodeRewritable>: Sized {
// Required method
fn mutate(&mut self, node: N) -> Result<N>;
// Provided method
fn pre_visit(&mut self, _node: &N) -> Result<RewriteRecursion> { ... }
}Expand description
Trait for potentially recursively transform an TreeNodeRewritable node
tree. When passed to TreeNodeRewritable::transform_using, TreeNodeRewriter::mutate is
invoked recursively on all nodes of a tree.
Required Methods§
Provided Methods§
sourcefn pre_visit(&mut self, _node: &N) -> Result<RewriteRecursion>
fn pre_visit(&mut self, _node: &N) -> Result<RewriteRecursion>
Invoked before (Preorder) any children of node are rewritten /
visited. Default implementation returns Ok(RewriteRecursion::Continue)