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.

ModulesΒ§

sealed πŸ”’

MacrosΒ§

generate_flat_map_visitor_fns πŸ”’
generate_walk_flat_map_fns πŸ”’

EnumsΒ§

FnKind

TraitsΒ§

MutVisitor
Each method of this trait is a hook to be potentially overridden. Each method’s default implementation recursively visits the substructure of the input via the corresponding walk method; e.g., the visit_item method by default calls visit_mut::walk_item.
WalkItemKind

FunctionsΒ§

visit_arms πŸ”’
visit_assoc_items πŸ”’
visit_bounds πŸ”’
visit_constness πŸ”’
visit_defaultness πŸ”’
visit_delim_args πŸ”’
visit_expr_fields πŸ”’
visit_exprs πŸ”’
visit_field_defs πŸ”’
visit_foreign_items πŸ”’
visit_generic_params πŸ”’
visit_id πŸ”’
helper since Visitor wants NodeId but MutVisitor wants &mut NodeId
visit_items πŸ”’
visit_modifiers πŸ”’
visit_nested_use_tree πŸ”’
visit_params πŸ”’
visit_pat_fields πŸ”’
visit_polarity πŸ”’
visit_safety πŸ”’
visit_span πŸ”’
visit_stmts πŸ”’
visit_variants πŸ”’
visit_where_predicates πŸ”’
walk_anon_const
walk_arm
walk_assoc_item
walk_assoc_item_constraint
walk_attr_args
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_filter_map_expr
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_inline_asm
walk_inline_asm_sym
walk_item
walk_item_ctxt πŸ”’
walk_label
walk_lifetime
walk_local
walk_mac
walk_macro_def πŸ”’
walk_param
walk_param_bound
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_predicate
walk_where_predicate_kind