Expand description
A MutVisitor
represents an AST modification; it accepts an AST piece and
mutates it in place. So, for instance, macro expansion is a MutVisitor
that walks over an AST and modifies it.
Note: using a MutVisitor
(other than the MacroExpander
MutVisitor
) on
an AST before macro expansion is probably a bad idea. For instance,
a MutVisitor
renaming item names in a module will miss all of those
that are created by the expansion of a macro.
Traits
Functions
Use a map-style function (
FnOnce(T) -> T
) to overwrite a &mut T
. Useful
when using a flat_map_*
or filter_map_*
method within a visit_
method.Applies the visitor to elements of interpolated nodes.
Applies ident visitor if it’s an ident; applies other visits to interpolated nodes.
In practice the ident part is not actually used by specific visitors right now,
but there’s a test below checking that it works.