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
- Some value for the AST node that is valid but possibly meaningless.
Functions
- Use a map-style function (
FnOnce(T) -> T
) to overwrite a&mut T
. Useful when using aflat_map_*
orfilter_map_*
method within avisit_
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.