pub trait TreeNodeRewriter<N: TreeNodeRewritable>: Sized {
fn mutate(&mut self, node: N) -> Result<N>;
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)