Module mut_visit

Source
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.

Enums§

FnKind

Traits§

DummyAstNode
Some value for the AST node that is valid but possibly meaningless. Similar to Default but not intended for wide use. The value will never be used meaningfully, it exists just to support unwinding in visit_clobber in the case where its closure panics.
ExpectOne
MutVisitor
WalkItemKind

Functions§

noop_filter_map_expr
visit_attr_args 🔒
visit_attr_tt 🔒
visit_attr_tts 🔒
visit_attrs 🔒
visit_bounds 🔒
visit_clobber
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.
visit_constness 🔒
visit_defaultness 🔒
visit_delim_args 🔒
visit_delim_span
visit_exprs 🔒
visit_lazy_tts 🔒
visit_lazy_tts_opt_mut 🔒
visit_nonterminal 🔒
Applies the visitor to elements of interpolated nodes.
visit_opt 🔒
visit_polarity 🔒
visit_safety 🔒
visit_thin_exprs 🔒
visit_thin_vec 🔒
visit_token
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.
visit_tt 🔒
visit_tts 🔒
visit_vec 🔒
walk_angle_bracketed_parameter_data 🔒
walk_anon_const 🔒
walk_arm
walk_assoc_item
walk_assoc_item_constraint 🔒
walk_attribute 🔒
walk_block
walk_capture_by 🔒
walk_closure_binder 🔒
walk_const_item 🔒
walk_contract 🔒
walk_coroutine_kind 🔒
walk_crate
walk_define_opaques 🔒
walk_expr
walk_expr_field
walk_field_def
walk_flat_map_arm
walk_flat_map_assoc_item
walk_flat_map_expr_field
walk_flat_map_field_def
walk_flat_map_foreign_item
walk_flat_map_generic_param
walk_flat_map_item
walk_flat_map_param
walk_flat_map_pat_field
walk_flat_map_stmt
walk_flat_map_stmt_kind 🔒
walk_flat_map_variant
walk_flat_map_where_predicate
walk_fn 🔒
walk_fn_decl 🔒
walk_fn_header 🔒
walk_fn_ret_ty 🔒
walk_foreign_mod 🔒
walk_format_args 🔒
walk_generic_arg 🔒
walk_generic_args 🔒
walk_generic_param
walk_generics 🔒
walk_ident 🔒
walk_inline_asm 🔒
walk_inline_asm_sym 🔒
walk_item
walk_item_ctxt 🔒
walk_item_kind
walk_label 🔒
walk_lifetime 🔒
walk_local 🔒
walk_mac 🔒
walk_macro_def 🔒
walk_meta_item 🔒
walk_meta_list_item 🔒
walk_modifiers 🔒
walk_mt 🔒
walk_param
walk_param_bound 🔒
walk_parenthesized_parameter_data 🔒
walk_pat
walk_pat_field
walk_path 🔒
walk_path_segment 🔒
walk_poly_trait_ref 🔒
walk_precise_capturing_arg 🔒
walk_qself 🔒
walk_trait_ref 🔒
walk_ty
walk_ty_alias_where_clauses 🔒
walk_ty_pat
walk_use_tree 🔒
walk_variant
walk_variant_data 🔒
walk_vis 🔒
walk_where_clause 🔒
walk_where_predicate_kind