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