// This file is @generated by syn-internal-codegen. // It is not intended for manual editing. #![allow(unused_variables)] #[cfg(any(feature = "full", feature = "derive"))] use crate::gen::helper::visit_mut::*; #[cfg(any(feature = "full", feature = "derive"))] use crate::punctuated::Punctuated; use crate::*; use proc_macro2::Span; #[cfg(feature = "full")] macro_rules! full { ($e:expr) => { $e }; } #[cfg(all(feature = "derive", not(feature = "full")))] macro_rules! full { ($e:expr) => { unreachable!() }; } #[cfg(any(feature = "full", feature = "derive"))] macro_rules! skip { ($($tt:tt)*) => {}; } /// Syntax tree traversal to mutate an exclusive borrow of a syntax tree in /// place. /// /// See the [module documentation] for details. /// /// [module documentation]: self /// /// *This trait is available if Syn is built with the `"visit-mut"` feature.* pub trait VisitMut { #[cfg(any(feature = "derive", feature = "full"))] fn visit_abi_mut(&mut self, i: &mut Abi) { visit_abi_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_angle_bracketed_generic_arguments_mut( &mut self, i: &mut AngleBracketedGenericArguments, ) { visit_angle_bracketed_generic_arguments_mut(self, i) } #[cfg(feature = "full")] fn visit_arm_mut(&mut self, i: &mut Arm) { visit_arm_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_attr_style_mut(&mut self, i: &mut AttrStyle) { visit_attr_style_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_attribute_mut(&mut self, i: &mut Attribute) { visit_attribute_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_bare_fn_arg_mut(&mut self, i: &mut BareFnArg) { visit_bare_fn_arg_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_bin_op_mut(&mut self, i: &mut BinOp) { visit_bin_op_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_binding_mut(&mut self, i: &mut Binding) { visit_binding_mut(self, i) } #[cfg(feature = "full")] fn visit_block_mut(&mut self, i: &mut Block) { visit_block_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_bound_lifetimes_mut(&mut self, i: &mut BoundLifetimes) { visit_bound_lifetimes_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_const_param_mut(&mut self, i: &mut ConstParam) { visit_const_param_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_constraint_mut(&mut self, i: &mut Constraint) { visit_constraint_mut(self, i) } #[cfg(feature = "derive")] fn visit_data_mut(&mut self, i: &mut Data) { visit_data_mut(self, i) } #[cfg(feature = "derive")] fn visit_data_enum_mut(&mut self, i: &mut DataEnum) { visit_data_enum_mut(self, i) } #[cfg(feature = "derive")] fn visit_data_struct_mut(&mut self, i: &mut DataStruct) { visit_data_struct_mut(self, i) } #[cfg(feature = "derive")] fn visit_data_union_mut(&mut self, i: &mut DataUnion) { visit_data_union_mut(self, i) } #[cfg(feature = "derive")] fn visit_derive_input_mut(&mut self, i: &mut DeriveInput) { visit_derive_input_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_mut(&mut self, i: &mut Expr) { visit_expr_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_array_mut(&mut self, i: &mut ExprArray) { visit_expr_array_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_assign_mut(&mut self, i: &mut ExprAssign) { visit_expr_assign_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_assign_op_mut(&mut self, i: &mut ExprAssignOp) { visit_expr_assign_op_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_async_mut(&mut self, i: &mut ExprAsync) { visit_expr_async_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_await_mut(&mut self, i: &mut ExprAwait) { visit_expr_await_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_binary_mut(&mut self, i: &mut ExprBinary) { visit_expr_binary_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_block_mut(&mut self, i: &mut ExprBlock) { visit_expr_block_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_box_mut(&mut self, i: &mut ExprBox) { visit_expr_box_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_break_mut(&mut self, i: &mut ExprBreak) { visit_expr_break_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_call_mut(&mut self, i: &mut ExprCall) { visit_expr_call_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_cast_mut(&mut self, i: &mut ExprCast) { visit_expr_cast_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_closure_mut(&mut self, i: &mut ExprClosure) { visit_expr_closure_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_continue_mut(&mut self, i: &mut ExprContinue) { visit_expr_continue_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_field_mut(&mut self, i: &mut ExprField) { visit_expr_field_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_for_loop_mut(&mut self, i: &mut ExprForLoop) { visit_expr_for_loop_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_group_mut(&mut self, i: &mut ExprGroup) { visit_expr_group_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_if_mut(&mut self, i: &mut ExprIf) { visit_expr_if_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_index_mut(&mut self, i: &mut ExprIndex) { visit_expr_index_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_let_mut(&mut self, i: &mut ExprLet) { visit_expr_let_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_lit_mut(&mut self, i: &mut ExprLit) { visit_expr_lit_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_loop_mut(&mut self, i: &mut ExprLoop) { visit_expr_loop_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_macro_mut(&mut self, i: &mut ExprMacro) { visit_expr_macro_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_match_mut(&mut self, i: &mut ExprMatch) { visit_expr_match_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_method_call_mut(&mut self, i: &mut ExprMethodCall) { visit_expr_method_call_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_paren_mut(&mut self, i: &mut ExprParen) { visit_expr_paren_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_path_mut(&mut self, i: &mut ExprPath) { visit_expr_path_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_range_mut(&mut self, i: &mut ExprRange) { visit_expr_range_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_reference_mut(&mut self, i: &mut ExprReference) { visit_expr_reference_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_repeat_mut(&mut self, i: &mut ExprRepeat) { visit_expr_repeat_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_return_mut(&mut self, i: &mut ExprReturn) { visit_expr_return_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_struct_mut(&mut self, i: &mut ExprStruct) { visit_expr_struct_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_try_mut(&mut self, i: &mut ExprTry) { visit_expr_try_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_try_block_mut(&mut self, i: &mut ExprTryBlock) { visit_expr_try_block_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_tuple_mut(&mut self, i: &mut ExprTuple) { visit_expr_tuple_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_type_mut(&mut self, i: &mut ExprType) { visit_expr_type_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_unary_mut(&mut self, i: &mut ExprUnary) { visit_expr_unary_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_unsafe_mut(&mut self, i: &mut ExprUnsafe) { visit_expr_unsafe_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_while_mut(&mut self, i: &mut ExprWhile) { visit_expr_while_mut(self, i) } #[cfg(feature = "full")] fn visit_expr_yield_mut(&mut self, i: &mut ExprYield) { visit_expr_yield_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_field_mut(&mut self, i: &mut Field) { visit_field_mut(self, i) } #[cfg(feature = "full")] fn visit_field_pat_mut(&mut self, i: &mut FieldPat) { visit_field_pat_mut(self, i) } #[cfg(feature = "full")] fn visit_field_value_mut(&mut self, i: &mut FieldValue) { visit_field_value_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_fields_mut(&mut self, i: &mut Fields) { visit_fields_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_fields_named_mut(&mut self, i: &mut FieldsNamed) { visit_fields_named_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_fields_unnamed_mut(&mut self, i: &mut FieldsUnnamed) { visit_fields_unnamed_mut(self, i) } #[cfg(feature = "full")] fn visit_file_mut(&mut self, i: &mut File) { visit_file_mut(self, i) } #[cfg(feature = "full")] fn visit_fn_arg_mut(&mut self, i: &mut FnArg) { visit_fn_arg_mut(self, i) } #[cfg(feature = "full")] fn visit_foreign_item_mut(&mut self, i: &mut ForeignItem) { visit_foreign_item_mut(self, i) } #[cfg(feature = "full")] fn visit_foreign_item_fn_mut(&mut self, i: &mut ForeignItemFn) { visit_foreign_item_fn_mut(self, i) } #[cfg(feature = "full")] fn visit_foreign_item_macro_mut(&mut self, i: &mut ForeignItemMacro) { visit_foreign_item_macro_mut(self, i) } #[cfg(feature = "full")] fn visit_foreign_item_static_mut(&mut self, i: &mut ForeignItemStatic) { visit_foreign_item_static_mut(self, i) } #[cfg(feature = "full")] fn visit_foreign_item_type_mut(&mut self, i: &mut ForeignItemType) { visit_foreign_item_type_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_generic_argument_mut(&mut self, i: &mut GenericArgument) { visit_generic_argument_mut(self, i) } #[cfg(feature = "full")] fn visit_generic_method_argument_mut(&mut self, i: &mut GenericMethodArgument) { visit_generic_method_argument_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_generic_param_mut(&mut self, i: &mut GenericParam) { visit_generic_param_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_generics_mut(&mut self, i: &mut Generics) { visit_generics_mut(self, i) } fn visit_ident_mut(&mut self, i: &mut Ident) { visit_ident_mut(self, i) } #[cfg(feature = "full")] fn visit_impl_item_mut(&mut self, i: &mut ImplItem) { visit_impl_item_mut(self, i) } #[cfg(feature = "full")] fn visit_impl_item_const_mut(&mut self, i: &mut ImplItemConst) { visit_impl_item_const_mut(self, i) } #[cfg(feature = "full")] fn visit_impl_item_macro_mut(&mut self, i: &mut ImplItemMacro) { visit_impl_item_macro_mut(self, i) } #[cfg(feature = "full")] fn visit_impl_item_method_mut(&mut self, i: &mut ImplItemMethod) { visit_impl_item_method_mut(self, i) } #[cfg(feature = "full")] fn visit_impl_item_type_mut(&mut self, i: &mut ImplItemType) { visit_impl_item_type_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_index_mut(&mut self, i: &mut Index) { visit_index_mut(self, i) } #[cfg(feature = "full")] fn visit_item_mut(&mut self, i: &mut Item) { visit_item_mut(self, i) } #[cfg(feature = "full")] fn visit_item_const_mut(&mut self, i: &mut ItemConst) { visit_item_const_mut(self, i) } #[cfg(feature = "full")] fn visit_item_enum_mut(&mut self, i: &mut ItemEnum) { visit_item_enum_mut(self, i) } #[cfg(feature = "full")] fn visit_item_extern_crate_mut(&mut self, i: &mut ItemExternCrate) { visit_item_extern_crate_mut(self, i) } #[cfg(feature = "full")] fn visit_item_fn_mut(&mut self, i: &mut ItemFn) { visit_item_fn_mut(self, i) } #[cfg(feature = "full")] fn visit_item_foreign_mod_mut(&mut self, i: &mut ItemForeignMod) { visit_item_foreign_mod_mut(self, i) } #[cfg(feature = "full")] fn visit_item_impl_mut(&mut self, i: &mut ItemImpl) { visit_item_impl_mut(self, i) } #[cfg(feature = "full")] fn visit_item_macro_mut(&mut self, i: &mut ItemMacro) { visit_item_macro_mut(self, i) } #[cfg(feature = "full")] fn visit_item_macro2_mut(&mut self, i: &mut ItemMacro2) { visit_item_macro2_mut(self, i) } #[cfg(feature = "full")] fn visit_item_mod_mut(&mut self, i: &mut ItemMod) { visit_item_mod_mut(self, i) } #[cfg(feature = "full")] fn visit_item_static_mut(&mut self, i: &mut ItemStatic) { visit_item_static_mut(self, i) } #[cfg(feature = "full")] fn visit_item_struct_mut(&mut self, i: &mut ItemStruct) { visit_item_struct_mut(self, i) } #[cfg(feature = "full")] fn visit_item_trait_mut(&mut self, i: &mut ItemTrait) { visit_item_trait_mut(self, i) } #[cfg(feature = "full")] fn visit_item_trait_alias_mut(&mut self, i: &mut ItemTraitAlias) { visit_item_trait_alias_mut(self, i) } #[cfg(feature = "full")] fn visit_item_type_mut(&mut self, i: &mut ItemType) { visit_item_type_mut(self, i) } #[cfg(feature = "full")] fn visit_item_union_mut(&mut self, i: &mut ItemUnion) { visit_item_union_mut(self, i) } #[cfg(feature = "full")] fn visit_item_use_mut(&mut self, i: &mut ItemUse) { visit_item_use_mut(self, i) } #[cfg(feature = "full")] fn visit_label_mut(&mut self, i: &mut Label) { visit_label_mut(self, i) } fn visit_lifetime_mut(&mut self, i: &mut Lifetime) { visit_lifetime_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_lifetime_def_mut(&mut self, i: &mut LifetimeDef) { visit_lifetime_def_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_lit_mut(&mut self, i: &mut Lit) { visit_lit_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_lit_bool_mut(&mut self, i: &mut LitBool) { visit_lit_bool_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_lit_byte_mut(&mut self, i: &mut LitByte) { visit_lit_byte_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_lit_byte_str_mut(&mut self, i: &mut LitByteStr) { visit_lit_byte_str_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_lit_char_mut(&mut self, i: &mut LitChar) { visit_lit_char_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_lit_float_mut(&mut self, i: &mut LitFloat) { visit_lit_float_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_lit_int_mut(&mut self, i: &mut LitInt) { visit_lit_int_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_lit_str_mut(&mut self, i: &mut LitStr) { visit_lit_str_mut(self, i) } #[cfg(feature = "full")] fn visit_local_mut(&mut self, i: &mut Local) { visit_local_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_macro_mut(&mut self, i: &mut Macro) { visit_macro_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_macro_delimiter_mut(&mut self, i: &mut MacroDelimiter) { visit_macro_delimiter_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_member_mut(&mut self, i: &mut Member) { visit_member_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_meta_mut(&mut self, i: &mut Meta) { visit_meta_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_meta_list_mut(&mut self, i: &mut MetaList) { visit_meta_list_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_meta_name_value_mut(&mut self, i: &mut MetaNameValue) { visit_meta_name_value_mut(self, i) } #[cfg(feature = "full")] fn visit_method_turbofish_mut(&mut self, i: &mut MethodTurbofish) { visit_method_turbofish_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_nested_meta_mut(&mut self, i: &mut NestedMeta) { visit_nested_meta_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_parenthesized_generic_arguments_mut(&mut self, i: &mut ParenthesizedGenericArguments) { visit_parenthesized_generic_arguments_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_mut(&mut self, i: &mut Pat) { visit_pat_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_box_mut(&mut self, i: &mut PatBox) { visit_pat_box_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_ident_mut(&mut self, i: &mut PatIdent) { visit_pat_ident_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_lit_mut(&mut self, i: &mut PatLit) { visit_pat_lit_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_macro_mut(&mut self, i: &mut PatMacro) { visit_pat_macro_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_or_mut(&mut self, i: &mut PatOr) { visit_pat_or_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_path_mut(&mut self, i: &mut PatPath) { visit_pat_path_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_range_mut(&mut self, i: &mut PatRange) { visit_pat_range_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_reference_mut(&mut self, i: &mut PatReference) { visit_pat_reference_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_rest_mut(&mut self, i: &mut PatRest) { visit_pat_rest_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_slice_mut(&mut self, i: &mut PatSlice) { visit_pat_slice_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_struct_mut(&mut self, i: &mut PatStruct) { visit_pat_struct_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_tuple_mut(&mut self, i: &mut PatTuple) { visit_pat_tuple_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_tuple_struct_mut(&mut self, i: &mut PatTupleStruct) { visit_pat_tuple_struct_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_type_mut(&mut self, i: &mut PatType) { visit_pat_type_mut(self, i) } #[cfg(feature = "full")] fn visit_pat_wild_mut(&mut self, i: &mut PatWild) { visit_pat_wild_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_path_mut(&mut self, i: &mut Path) { visit_path_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_path_arguments_mut(&mut self, i: &mut PathArguments) { visit_path_arguments_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_path_segment_mut(&mut self, i: &mut PathSegment) { visit_path_segment_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_predicate_eq_mut(&mut self, i: &mut PredicateEq) { visit_predicate_eq_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_predicate_lifetime_mut(&mut self, i: &mut PredicateLifetime) { visit_predicate_lifetime_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_predicate_type_mut(&mut self, i: &mut PredicateType) { visit_predicate_type_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_qself_mut(&mut self, i: &mut QSelf) { visit_qself_mut(self, i) } #[cfg(feature = "full")] fn visit_range_limits_mut(&mut self, i: &mut RangeLimits) { visit_range_limits_mut(self, i) } #[cfg(feature = "full")] fn visit_receiver_mut(&mut self, i: &mut Receiver) { visit_receiver_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_return_type_mut(&mut self, i: &mut ReturnType) { visit_return_type_mut(self, i) } #[cfg(feature = "full")] fn visit_signature_mut(&mut self, i: &mut Signature) { visit_signature_mut(self, i) } fn visit_span_mut(&mut self, i: &mut Span) { visit_span_mut(self, i) } #[cfg(feature = "full")] fn visit_stmt_mut(&mut self, i: &mut Stmt) { visit_stmt_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_trait_bound_mut(&mut self, i: &mut TraitBound) { visit_trait_bound_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_trait_bound_modifier_mut(&mut self, i: &mut TraitBoundModifier) { visit_trait_bound_modifier_mut(self, i) } #[cfg(feature = "full")] fn visit_trait_item_mut(&mut self, i: &mut TraitItem) { visit_trait_item_mut(self, i) } #[cfg(feature = "full")] fn visit_trait_item_const_mut(&mut self, i: &mut TraitItemConst) { visit_trait_item_const_mut(self, i) } #[cfg(feature = "full")] fn visit_trait_item_macro_mut(&mut self, i: &mut TraitItemMacro) { visit_trait_item_macro_mut(self, i) } #[cfg(feature = "full")] fn visit_trait_item_method_mut(&mut self, i: &mut TraitItemMethod) { visit_trait_item_method_mut(self, i) } #[cfg(feature = "full")] fn visit_trait_item_type_mut(&mut self, i: &mut TraitItemType) { visit_trait_item_type_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_mut(&mut self, i: &mut Type) { visit_type_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_array_mut(&mut self, i: &mut TypeArray) { visit_type_array_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_bare_fn_mut(&mut self, i: &mut TypeBareFn) { visit_type_bare_fn_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_group_mut(&mut self, i: &mut TypeGroup) { visit_type_group_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_impl_trait_mut(&mut self, i: &mut TypeImplTrait) { visit_type_impl_trait_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_infer_mut(&mut self, i: &mut TypeInfer) { visit_type_infer_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_macro_mut(&mut self, i: &mut TypeMacro) { visit_type_macro_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_never_mut(&mut self, i: &mut TypeNever) { visit_type_never_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_param_mut(&mut self, i: &mut TypeParam) { visit_type_param_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_param_bound_mut(&mut self, i: &mut TypeParamBound) { visit_type_param_bound_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_paren_mut(&mut self, i: &mut TypeParen) { visit_type_paren_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_path_mut(&mut self, i: &mut TypePath) { visit_type_path_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_ptr_mut(&mut self, i: &mut TypePtr) { visit_type_ptr_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_reference_mut(&mut self, i: &mut TypeReference) { visit_type_reference_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_slice_mut(&mut self, i: &mut TypeSlice) { visit_type_slice_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_trait_object_mut(&mut self, i: &mut TypeTraitObject) { visit_type_trait_object_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_type_tuple_mut(&mut self, i: &mut TypeTuple) { visit_type_tuple_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_un_op_mut(&mut self, i: &mut UnOp) { visit_un_op_mut(self, i) } #[cfg(feature = "full")] fn visit_use_glob_mut(&mut self, i: &mut UseGlob) { visit_use_glob_mut(self, i) } #[cfg(feature = "full")] fn visit_use_group_mut(&mut self, i: &mut UseGroup) { visit_use_group_mut(self, i) } #[cfg(feature = "full")] fn visit_use_name_mut(&mut self, i: &mut UseName) { visit_use_name_mut(self, i) } #[cfg(feature = "full")] fn visit_use_path_mut(&mut self, i: &mut UsePath) { visit_use_path_mut(self, i) } #[cfg(feature = "full")] fn visit_use_rename_mut(&mut self, i: &mut UseRename) { visit_use_rename_mut(self, i) } #[cfg(feature = "full")] fn visit_use_tree_mut(&mut self, i: &mut UseTree) { visit_use_tree_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_variadic_mut(&mut self, i: &mut Variadic) { visit_variadic_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_variant_mut(&mut self, i: &mut Variant) { visit_variant_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_vis_crate_mut(&mut self, i: &mut VisCrate) { visit_vis_crate_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_vis_public_mut(&mut self, i: &mut VisPublic) { visit_vis_public_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_vis_restricted_mut(&mut self, i: &mut VisRestricted) { visit_vis_restricted_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_visibility_mut(&mut self, i: &mut Visibility) { visit_visibility_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_where_clause_mut(&mut self, i: &mut WhereClause) { visit_where_clause_mut(self, i) } #[cfg(any(feature = "derive", feature = "full"))] fn visit_where_predicate_mut(&mut self, i: &mut WherePredicate) { visit_where_predicate_mut(self, i) } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_abi_mut(v: &mut V, node: &mut Abi) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.extern_token.span); if let Some(it) = &mut node.name { v.visit_lit_str_mut(it) }; } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_angle_bracketed_generic_arguments_mut( v: &mut V, node: &mut AngleBracketedGenericArguments, ) where V: VisitMut + ?Sized, { if let Some(it) = &mut node.colon2_token { tokens_helper(v, &mut it.spans) }; tokens_helper(v, &mut node.lt_token.spans); for el in Punctuated::pairs_mut(&mut node.args) { let (it, p) = el.into_tuple(); v.visit_generic_argument_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } tokens_helper(v, &mut node.gt_token.spans); } #[cfg(feature = "full")] pub fn visit_arm_mut(v: &mut V, node: &mut Arm) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_pat_mut(&mut node.pat); if let Some(it) = &mut node.guard { tokens_helper(v, &mut (it).0.span); v.visit_expr_mut(&mut *(it).1); }; tokens_helper(v, &mut node.fat_arrow_token.spans); v.visit_expr_mut(&mut *node.body); if let Some(it) = &mut node.comma { tokens_helper(v, &mut it.spans) }; } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_attr_style_mut(v: &mut V, node: &mut AttrStyle) where V: VisitMut + ?Sized, { match node { AttrStyle::Outer => {} AttrStyle::Inner(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_attribute_mut(v: &mut V, node: &mut Attribute) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.pound_token.spans); v.visit_attr_style_mut(&mut node.style); tokens_helper(v, &mut node.bracket_token.span); v.visit_path_mut(&mut node.path); skip!(node.tokens); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_bare_fn_arg_mut(v: &mut V, node: &mut BareFnArg) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } if let Some(it) = &mut node.name { v.visit_ident_mut(&mut (it).0); tokens_helper(v, &mut (it).1.spans); }; v.visit_type_mut(&mut node.ty); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_bin_op_mut(v: &mut V, node: &mut BinOp) where V: VisitMut + ?Sized, { match node { BinOp::Add(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::Sub(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::Mul(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::Div(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::Rem(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::And(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::Or(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::BitXor(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::BitAnd(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::BitOr(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::Shl(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::Shr(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::Eq(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::Lt(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::Le(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::Ne(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::Ge(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::Gt(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::AddEq(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::SubEq(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::MulEq(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::DivEq(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::RemEq(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::BitXorEq(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::BitAndEq(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::BitOrEq(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::ShlEq(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } BinOp::ShrEq(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_binding_mut(v: &mut V, node: &mut Binding) where V: VisitMut + ?Sized, { v.visit_ident_mut(&mut node.ident); tokens_helper(v, &mut node.eq_token.spans); v.visit_type_mut(&mut node.ty); } #[cfg(feature = "full")] pub fn visit_block_mut(v: &mut V, node: &mut Block) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.brace_token.span); for it in &mut node.stmts { v.visit_stmt_mut(it) } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_bound_lifetimes_mut(v: &mut V, node: &mut BoundLifetimes) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.for_token.span); tokens_helper(v, &mut node.lt_token.spans); for el in Punctuated::pairs_mut(&mut node.lifetimes) { let (it, p) = el.into_tuple(); v.visit_lifetime_def_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } tokens_helper(v, &mut node.gt_token.spans); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_const_param_mut(v: &mut V, node: &mut ConstParam) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.const_token.span); v.visit_ident_mut(&mut node.ident); tokens_helper(v, &mut node.colon_token.spans); v.visit_type_mut(&mut node.ty); if let Some(it) = &mut node.eq_token { tokens_helper(v, &mut it.spans) }; if let Some(it) = &mut node.default { v.visit_expr_mut(it) }; } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_constraint_mut(v: &mut V, node: &mut Constraint) where V: VisitMut + ?Sized, { v.visit_ident_mut(&mut node.ident); tokens_helper(v, &mut node.colon_token.spans); for el in Punctuated::pairs_mut(&mut node.bounds) { let (it, p) = el.into_tuple(); v.visit_type_param_bound_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(feature = "derive")] pub fn visit_data_mut(v: &mut V, node: &mut Data) where V: VisitMut + ?Sized, { match node { Data::Struct(_binding_0) => { v.visit_data_struct_mut(_binding_0); } Data::Enum(_binding_0) => { v.visit_data_enum_mut(_binding_0); } Data::Union(_binding_0) => { v.visit_data_union_mut(_binding_0); } } } #[cfg(feature = "derive")] pub fn visit_data_enum_mut(v: &mut V, node: &mut DataEnum) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.enum_token.span); tokens_helper(v, &mut node.brace_token.span); for el in Punctuated::pairs_mut(&mut node.variants) { let (it, p) = el.into_tuple(); v.visit_variant_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(feature = "derive")] pub fn visit_data_struct_mut(v: &mut V, node: &mut DataStruct) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.struct_token.span); v.visit_fields_mut(&mut node.fields); if let Some(it) = &mut node.semi_token { tokens_helper(v, &mut it.spans) }; } #[cfg(feature = "derive")] pub fn visit_data_union_mut(v: &mut V, node: &mut DataUnion) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.union_token.span); v.visit_fields_named_mut(&mut node.fields); } #[cfg(feature = "derive")] pub fn visit_derive_input_mut(v: &mut V, node: &mut DeriveInput) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); v.visit_data_mut(&mut node.data); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_mut(v: &mut V, node: &mut Expr) where V: VisitMut + ?Sized, { match node { Expr::Array(_binding_0) => { full!(v.visit_expr_array_mut(_binding_0)); } Expr::Assign(_binding_0) => { full!(v.visit_expr_assign_mut(_binding_0)); } Expr::AssignOp(_binding_0) => { full!(v.visit_expr_assign_op_mut(_binding_0)); } Expr::Async(_binding_0) => { full!(v.visit_expr_async_mut(_binding_0)); } Expr::Await(_binding_0) => { full!(v.visit_expr_await_mut(_binding_0)); } Expr::Binary(_binding_0) => { v.visit_expr_binary_mut(_binding_0); } Expr::Block(_binding_0) => { full!(v.visit_expr_block_mut(_binding_0)); } Expr::Box(_binding_0) => { full!(v.visit_expr_box_mut(_binding_0)); } Expr::Break(_binding_0) => { full!(v.visit_expr_break_mut(_binding_0)); } Expr::Call(_binding_0) => { v.visit_expr_call_mut(_binding_0); } Expr::Cast(_binding_0) => { v.visit_expr_cast_mut(_binding_0); } Expr::Closure(_binding_0) => { full!(v.visit_expr_closure_mut(_binding_0)); } Expr::Continue(_binding_0) => { full!(v.visit_expr_continue_mut(_binding_0)); } Expr::Field(_binding_0) => { v.visit_expr_field_mut(_binding_0); } Expr::ForLoop(_binding_0) => { full!(v.visit_expr_for_loop_mut(_binding_0)); } Expr::Group(_binding_0) => { full!(v.visit_expr_group_mut(_binding_0)); } Expr::If(_binding_0) => { full!(v.visit_expr_if_mut(_binding_0)); } Expr::Index(_binding_0) => { v.visit_expr_index_mut(_binding_0); } Expr::Let(_binding_0) => { full!(v.visit_expr_let_mut(_binding_0)); } Expr::Lit(_binding_0) => { v.visit_expr_lit_mut(_binding_0); } Expr::Loop(_binding_0) => { full!(v.visit_expr_loop_mut(_binding_0)); } Expr::Macro(_binding_0) => { full!(v.visit_expr_macro_mut(_binding_0)); } Expr::Match(_binding_0) => { full!(v.visit_expr_match_mut(_binding_0)); } Expr::MethodCall(_binding_0) => { full!(v.visit_expr_method_call_mut(_binding_0)); } Expr::Paren(_binding_0) => { v.visit_expr_paren_mut(_binding_0); } Expr::Path(_binding_0) => { v.visit_expr_path_mut(_binding_0); } Expr::Range(_binding_0) => { full!(v.visit_expr_range_mut(_binding_0)); } Expr::Reference(_binding_0) => { full!(v.visit_expr_reference_mut(_binding_0)); } Expr::Repeat(_binding_0) => { full!(v.visit_expr_repeat_mut(_binding_0)); } Expr::Return(_binding_0) => { full!(v.visit_expr_return_mut(_binding_0)); } Expr::Struct(_binding_0) => { full!(v.visit_expr_struct_mut(_binding_0)); } Expr::Try(_binding_0) => { full!(v.visit_expr_try_mut(_binding_0)); } Expr::TryBlock(_binding_0) => { full!(v.visit_expr_try_block_mut(_binding_0)); } Expr::Tuple(_binding_0) => { full!(v.visit_expr_tuple_mut(_binding_0)); } Expr::Type(_binding_0) => { full!(v.visit_expr_type_mut(_binding_0)); } Expr::Unary(_binding_0) => { v.visit_expr_unary_mut(_binding_0); } Expr::Unsafe(_binding_0) => { full!(v.visit_expr_unsafe_mut(_binding_0)); } Expr::Verbatim(_binding_0) => { skip!(_binding_0); } Expr::While(_binding_0) => { full!(v.visit_expr_while_mut(_binding_0)); } Expr::Yield(_binding_0) => { full!(v.visit_expr_yield_mut(_binding_0)); } _ => unreachable!(), } } #[cfg(feature = "full")] pub fn visit_expr_array_mut(v: &mut V, node: &mut ExprArray) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.bracket_token.span); for el in Punctuated::pairs_mut(&mut node.elems) { let (it, p) = el.into_tuple(); v.visit_expr_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(feature = "full")] pub fn visit_expr_assign_mut(v: &mut V, node: &mut ExprAssign) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_expr_mut(&mut *node.left); tokens_helper(v, &mut node.eq_token.spans); v.visit_expr_mut(&mut *node.right); } #[cfg(feature = "full")] pub fn visit_expr_assign_op_mut(v: &mut V, node: &mut ExprAssignOp) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_expr_mut(&mut *node.left); v.visit_bin_op_mut(&mut node.op); v.visit_expr_mut(&mut *node.right); } #[cfg(feature = "full")] pub fn visit_expr_async_mut(v: &mut V, node: &mut ExprAsync) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.async_token.span); if let Some(it) = &mut node.capture { tokens_helper(v, &mut it.span) }; v.visit_block_mut(&mut node.block); } #[cfg(feature = "full")] pub fn visit_expr_await_mut(v: &mut V, node: &mut ExprAwait) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_expr_mut(&mut *node.base); tokens_helper(v, &mut node.dot_token.spans); tokens_helper(v, &mut node.await_token.span); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_binary_mut(v: &mut V, node: &mut ExprBinary) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_expr_mut(&mut *node.left); v.visit_bin_op_mut(&mut node.op); v.visit_expr_mut(&mut *node.right); } #[cfg(feature = "full")] pub fn visit_expr_block_mut(v: &mut V, node: &mut ExprBlock) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } if let Some(it) = &mut node.label { v.visit_label_mut(it) }; v.visit_block_mut(&mut node.block); } #[cfg(feature = "full")] pub fn visit_expr_box_mut(v: &mut V, node: &mut ExprBox) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.box_token.span); v.visit_expr_mut(&mut *node.expr); } #[cfg(feature = "full")] pub fn visit_expr_break_mut(v: &mut V, node: &mut ExprBreak) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.break_token.span); if let Some(it) = &mut node.label { v.visit_lifetime_mut(it) }; if let Some(it) = &mut node.expr { v.visit_expr_mut(&mut **it) }; } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_call_mut(v: &mut V, node: &mut ExprCall) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_expr_mut(&mut *node.func); tokens_helper(v, &mut node.paren_token.span); for el in Punctuated::pairs_mut(&mut node.args) { let (it, p) = el.into_tuple(); v.visit_expr_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_cast_mut(v: &mut V, node: &mut ExprCast) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_expr_mut(&mut *node.expr); tokens_helper(v, &mut node.as_token.span); v.visit_type_mut(&mut *node.ty); } #[cfg(feature = "full")] pub fn visit_expr_closure_mut(v: &mut V, node: &mut ExprClosure) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } if let Some(it) = &mut node.asyncness { tokens_helper(v, &mut it.span) }; if let Some(it) = &mut node.movability { tokens_helper(v, &mut it.span) }; if let Some(it) = &mut node.capture { tokens_helper(v, &mut it.span) }; tokens_helper(v, &mut node.or1_token.spans); for el in Punctuated::pairs_mut(&mut node.inputs) { let (it, p) = el.into_tuple(); v.visit_pat_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } tokens_helper(v, &mut node.or2_token.spans); v.visit_return_type_mut(&mut node.output); v.visit_expr_mut(&mut *node.body); } #[cfg(feature = "full")] pub fn visit_expr_continue_mut(v: &mut V, node: &mut ExprContinue) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.continue_token.span); if let Some(it) = &mut node.label { v.visit_lifetime_mut(it) }; } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_field_mut(v: &mut V, node: &mut ExprField) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_expr_mut(&mut *node.base); tokens_helper(v, &mut node.dot_token.spans); v.visit_member_mut(&mut node.member); } #[cfg(feature = "full")] pub fn visit_expr_for_loop_mut(v: &mut V, node: &mut ExprForLoop) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } if let Some(it) = &mut node.label { v.visit_label_mut(it) }; tokens_helper(v, &mut node.for_token.span); v.visit_pat_mut(&mut node.pat); tokens_helper(v, &mut node.in_token.span); v.visit_expr_mut(&mut *node.expr); v.visit_block_mut(&mut node.body); } #[cfg(feature = "full")] pub fn visit_expr_group_mut(v: &mut V, node: &mut ExprGroup) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.group_token.span); v.visit_expr_mut(&mut *node.expr); } #[cfg(feature = "full")] pub fn visit_expr_if_mut(v: &mut V, node: &mut ExprIf) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.if_token.span); v.visit_expr_mut(&mut *node.cond); v.visit_block_mut(&mut node.then_branch); if let Some(it) = &mut node.else_branch { tokens_helper(v, &mut (it).0.span); v.visit_expr_mut(&mut *(it).1); }; } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_index_mut(v: &mut V, node: &mut ExprIndex) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_expr_mut(&mut *node.expr); tokens_helper(v, &mut node.bracket_token.span); v.visit_expr_mut(&mut *node.index); } #[cfg(feature = "full")] pub fn visit_expr_let_mut(v: &mut V, node: &mut ExprLet) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.let_token.span); v.visit_pat_mut(&mut node.pat); tokens_helper(v, &mut node.eq_token.spans); v.visit_expr_mut(&mut *node.expr); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_lit_mut(v: &mut V, node: &mut ExprLit) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_lit_mut(&mut node.lit); } #[cfg(feature = "full")] pub fn visit_expr_loop_mut(v: &mut V, node: &mut ExprLoop) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } if let Some(it) = &mut node.label { v.visit_label_mut(it) }; tokens_helper(v, &mut node.loop_token.span); v.visit_block_mut(&mut node.body); } #[cfg(feature = "full")] pub fn visit_expr_macro_mut(v: &mut V, node: &mut ExprMacro) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_macro_mut(&mut node.mac); } #[cfg(feature = "full")] pub fn visit_expr_match_mut(v: &mut V, node: &mut ExprMatch) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.match_token.span); v.visit_expr_mut(&mut *node.expr); tokens_helper(v, &mut node.brace_token.span); for it in &mut node.arms { v.visit_arm_mut(it) } } #[cfg(feature = "full")] pub fn visit_expr_method_call_mut(v: &mut V, node: &mut ExprMethodCall) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_expr_mut(&mut *node.receiver); tokens_helper(v, &mut node.dot_token.spans); v.visit_ident_mut(&mut node.method); if let Some(it) = &mut node.turbofish { v.visit_method_turbofish_mut(it) }; tokens_helper(v, &mut node.paren_token.span); for el in Punctuated::pairs_mut(&mut node.args) { let (it, p) = el.into_tuple(); v.visit_expr_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_paren_mut(v: &mut V, node: &mut ExprParen) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.paren_token.span); v.visit_expr_mut(&mut *node.expr); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_path_mut(v: &mut V, node: &mut ExprPath) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } if let Some(it) = &mut node.qself { v.visit_qself_mut(it) }; v.visit_path_mut(&mut node.path); } #[cfg(feature = "full")] pub fn visit_expr_range_mut(v: &mut V, node: &mut ExprRange) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } if let Some(it) = &mut node.from { v.visit_expr_mut(&mut **it) }; v.visit_range_limits_mut(&mut node.limits); if let Some(it) = &mut node.to { v.visit_expr_mut(&mut **it) }; } #[cfg(feature = "full")] pub fn visit_expr_reference_mut(v: &mut V, node: &mut ExprReference) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.and_token.spans); if let Some(it) = &mut node.mutability { tokens_helper(v, &mut it.span) }; v.visit_expr_mut(&mut *node.expr); } #[cfg(feature = "full")] pub fn visit_expr_repeat_mut(v: &mut V, node: &mut ExprRepeat) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.bracket_token.span); v.visit_expr_mut(&mut *node.expr); tokens_helper(v, &mut node.semi_token.spans); v.visit_expr_mut(&mut *node.len); } #[cfg(feature = "full")] pub fn visit_expr_return_mut(v: &mut V, node: &mut ExprReturn) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.return_token.span); if let Some(it) = &mut node.expr { v.visit_expr_mut(&mut **it) }; } #[cfg(feature = "full")] pub fn visit_expr_struct_mut(v: &mut V, node: &mut ExprStruct) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_path_mut(&mut node.path); tokens_helper(v, &mut node.brace_token.span); for el in Punctuated::pairs_mut(&mut node.fields) { let (it, p) = el.into_tuple(); v.visit_field_value_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } if let Some(it) = &mut node.dot2_token { tokens_helper(v, &mut it.spans) }; if let Some(it) = &mut node.rest { v.visit_expr_mut(&mut **it) }; } #[cfg(feature = "full")] pub fn visit_expr_try_mut(v: &mut V, node: &mut ExprTry) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_expr_mut(&mut *node.expr); tokens_helper(v, &mut node.question_token.spans); } #[cfg(feature = "full")] pub fn visit_expr_try_block_mut(v: &mut V, node: &mut ExprTryBlock) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.try_token.span); v.visit_block_mut(&mut node.block); } #[cfg(feature = "full")] pub fn visit_expr_tuple_mut(v: &mut V, node: &mut ExprTuple) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.paren_token.span); for el in Punctuated::pairs_mut(&mut node.elems) { let (it, p) = el.into_tuple(); v.visit_expr_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(feature = "full")] pub fn visit_expr_type_mut(v: &mut V, node: &mut ExprType) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_expr_mut(&mut *node.expr); tokens_helper(v, &mut node.colon_token.spans); v.visit_type_mut(&mut *node.ty); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_unary_mut(v: &mut V, node: &mut ExprUnary) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_un_op_mut(&mut node.op); v.visit_expr_mut(&mut *node.expr); } #[cfg(feature = "full")] pub fn visit_expr_unsafe_mut(v: &mut V, node: &mut ExprUnsafe) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.unsafe_token.span); v.visit_block_mut(&mut node.block); } #[cfg(feature = "full")] pub fn visit_expr_while_mut(v: &mut V, node: &mut ExprWhile) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } if let Some(it) = &mut node.label { v.visit_label_mut(it) }; tokens_helper(v, &mut node.while_token.span); v.visit_expr_mut(&mut *node.cond); v.visit_block_mut(&mut node.body); } #[cfg(feature = "full")] pub fn visit_expr_yield_mut(v: &mut V, node: &mut ExprYield) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.yield_token.span); if let Some(it) = &mut node.expr { v.visit_expr_mut(&mut **it) }; } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_field_mut(v: &mut V, node: &mut Field) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); if let Some(it) = &mut node.ident { v.visit_ident_mut(it) }; if let Some(it) = &mut node.colon_token { tokens_helper(v, &mut it.spans) }; v.visit_type_mut(&mut node.ty); } #[cfg(feature = "full")] pub fn visit_field_pat_mut(v: &mut V, node: &mut FieldPat) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_member_mut(&mut node.member); if let Some(it) = &mut node.colon_token { tokens_helper(v, &mut it.spans) }; v.visit_pat_mut(&mut *node.pat); } #[cfg(feature = "full")] pub fn visit_field_value_mut(v: &mut V, node: &mut FieldValue) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_member_mut(&mut node.member); if let Some(it) = &mut node.colon_token { tokens_helper(v, &mut it.spans) }; v.visit_expr_mut(&mut node.expr); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_fields_mut(v: &mut V, node: &mut Fields) where V: VisitMut + ?Sized, { match node { Fields::Named(_binding_0) => { v.visit_fields_named_mut(_binding_0); } Fields::Unnamed(_binding_0) => { v.visit_fields_unnamed_mut(_binding_0); } Fields::Unit => {} } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_fields_named_mut(v: &mut V, node: &mut FieldsNamed) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.brace_token.span); for el in Punctuated::pairs_mut(&mut node.named) { let (it, p) = el.into_tuple(); v.visit_field_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_fields_unnamed_mut(v: &mut V, node: &mut FieldsUnnamed) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.paren_token.span); for el in Punctuated::pairs_mut(&mut node.unnamed) { let (it, p) = el.into_tuple(); v.visit_field_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(feature = "full")] pub fn visit_file_mut(v: &mut V, node: &mut File) where V: VisitMut + ?Sized, { skip!(node.shebang); for it in &mut node.attrs { v.visit_attribute_mut(it) } for it in &mut node.items { v.visit_item_mut(it) } } #[cfg(feature = "full")] pub fn visit_fn_arg_mut(v: &mut V, node: &mut FnArg) where V: VisitMut + ?Sized, { match node { FnArg::Receiver(_binding_0) => { v.visit_receiver_mut(_binding_0); } FnArg::Typed(_binding_0) => { v.visit_pat_type_mut(_binding_0); } } } #[cfg(feature = "full")] pub fn visit_foreign_item_mut(v: &mut V, node: &mut ForeignItem) where V: VisitMut + ?Sized, { match node { ForeignItem::Fn(_binding_0) => { v.visit_foreign_item_fn_mut(_binding_0); } ForeignItem::Static(_binding_0) => { v.visit_foreign_item_static_mut(_binding_0); } ForeignItem::Type(_binding_0) => { v.visit_foreign_item_type_mut(_binding_0); } ForeignItem::Macro(_binding_0) => { v.visit_foreign_item_macro_mut(_binding_0); } ForeignItem::Verbatim(_binding_0) => { skip!(_binding_0); } _ => unreachable!(), } } #[cfg(feature = "full")] pub fn visit_foreign_item_fn_mut(v: &mut V, node: &mut ForeignItemFn) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); v.visit_signature_mut(&mut node.sig); tokens_helper(v, &mut node.semi_token.spans); } #[cfg(feature = "full")] pub fn visit_foreign_item_macro_mut(v: &mut V, node: &mut ForeignItemMacro) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_macro_mut(&mut node.mac); if let Some(it) = &mut node.semi_token { tokens_helper(v, &mut it.spans) }; } #[cfg(feature = "full")] pub fn visit_foreign_item_static_mut(v: &mut V, node: &mut ForeignItemStatic) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); tokens_helper(v, &mut node.static_token.span); if let Some(it) = &mut node.mutability { tokens_helper(v, &mut it.span) }; v.visit_ident_mut(&mut node.ident); tokens_helper(v, &mut node.colon_token.spans); v.visit_type_mut(&mut *node.ty); tokens_helper(v, &mut node.semi_token.spans); } #[cfg(feature = "full")] pub fn visit_foreign_item_type_mut(v: &mut V, node: &mut ForeignItemType) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); tokens_helper(v, &mut node.type_token.span); v.visit_ident_mut(&mut node.ident); tokens_helper(v, &mut node.semi_token.spans); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_generic_argument_mut(v: &mut V, node: &mut GenericArgument) where V: VisitMut + ?Sized, { match node { GenericArgument::Lifetime(_binding_0) => { v.visit_lifetime_mut(_binding_0); } GenericArgument::Type(_binding_0) => { v.visit_type_mut(_binding_0); } GenericArgument::Binding(_binding_0) => { v.visit_binding_mut(_binding_0); } GenericArgument::Constraint(_binding_0) => { v.visit_constraint_mut(_binding_0); } GenericArgument::Const(_binding_0) => { v.visit_expr_mut(_binding_0); } } } #[cfg(feature = "full")] pub fn visit_generic_method_argument_mut(v: &mut V, node: &mut GenericMethodArgument) where V: VisitMut + ?Sized, { match node { GenericMethodArgument::Type(_binding_0) => { v.visit_type_mut(_binding_0); } GenericMethodArgument::Const(_binding_0) => { v.visit_expr_mut(_binding_0); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_generic_param_mut(v: &mut V, node: &mut GenericParam) where V: VisitMut + ?Sized, { match node { GenericParam::Type(_binding_0) => { v.visit_type_param_mut(_binding_0); } GenericParam::Lifetime(_binding_0) => { v.visit_lifetime_def_mut(_binding_0); } GenericParam::Const(_binding_0) => { v.visit_const_param_mut(_binding_0); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_generics_mut(v: &mut V, node: &mut Generics) where V: VisitMut + ?Sized, { if let Some(it) = &mut node.lt_token { tokens_helper(v, &mut it.spans) }; for el in Punctuated::pairs_mut(&mut node.params) { let (it, p) = el.into_tuple(); v.visit_generic_param_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } if let Some(it) = &mut node.gt_token { tokens_helper(v, &mut it.spans) }; if let Some(it) = &mut node.where_clause { v.visit_where_clause_mut(it) }; } pub fn visit_ident_mut(v: &mut V, node: &mut Ident) where V: VisitMut + ?Sized, { let mut span = node.span(); v.visit_span_mut(&mut span); node.set_span(span); } #[cfg(feature = "full")] pub fn visit_impl_item_mut(v: &mut V, node: &mut ImplItem) where V: VisitMut + ?Sized, { match node { ImplItem::Const(_binding_0) => { v.visit_impl_item_const_mut(_binding_0); } ImplItem::Method(_binding_0) => { v.visit_impl_item_method_mut(_binding_0); } ImplItem::Type(_binding_0) => { v.visit_impl_item_type_mut(_binding_0); } ImplItem::Macro(_binding_0) => { v.visit_impl_item_macro_mut(_binding_0); } ImplItem::Verbatim(_binding_0) => { skip!(_binding_0); } _ => unreachable!(), } } #[cfg(feature = "full")] pub fn visit_impl_item_const_mut(v: &mut V, node: &mut ImplItemConst) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); if let Some(it) = &mut node.defaultness { tokens_helper(v, &mut it.span) }; tokens_helper(v, &mut node.const_token.span); v.visit_ident_mut(&mut node.ident); tokens_helper(v, &mut node.colon_token.spans); v.visit_type_mut(&mut node.ty); tokens_helper(v, &mut node.eq_token.spans); v.visit_expr_mut(&mut node.expr); tokens_helper(v, &mut node.semi_token.spans); } #[cfg(feature = "full")] pub fn visit_impl_item_macro_mut(v: &mut V, node: &mut ImplItemMacro) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_macro_mut(&mut node.mac); if let Some(it) = &mut node.semi_token { tokens_helper(v, &mut it.spans) }; } #[cfg(feature = "full")] pub fn visit_impl_item_method_mut(v: &mut V, node: &mut ImplItemMethod) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); if let Some(it) = &mut node.defaultness { tokens_helper(v, &mut it.span) }; v.visit_signature_mut(&mut node.sig); v.visit_block_mut(&mut node.block); } #[cfg(feature = "full")] pub fn visit_impl_item_type_mut(v: &mut V, node: &mut ImplItemType) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); if let Some(it) = &mut node.defaultness { tokens_helper(v, &mut it.span) }; tokens_helper(v, &mut node.type_token.span); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); tokens_helper(v, &mut node.eq_token.spans); v.visit_type_mut(&mut node.ty); tokens_helper(v, &mut node.semi_token.spans); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_index_mut(v: &mut V, node: &mut Index) where V: VisitMut + ?Sized, { skip!(node.index); v.visit_span_mut(&mut node.span); } #[cfg(feature = "full")] pub fn visit_item_mut(v: &mut V, node: &mut Item) where V: VisitMut + ?Sized, { match node { Item::Const(_binding_0) => { v.visit_item_const_mut(_binding_0); } Item::Enum(_binding_0) => { v.visit_item_enum_mut(_binding_0); } Item::ExternCrate(_binding_0) => { v.visit_item_extern_crate_mut(_binding_0); } Item::Fn(_binding_0) => { v.visit_item_fn_mut(_binding_0); } Item::ForeignMod(_binding_0) => { v.visit_item_foreign_mod_mut(_binding_0); } Item::Impl(_binding_0) => { v.visit_item_impl_mut(_binding_0); } Item::Macro(_binding_0) => { v.visit_item_macro_mut(_binding_0); } Item::Macro2(_binding_0) => { v.visit_item_macro2_mut(_binding_0); } Item::Mod(_binding_0) => { v.visit_item_mod_mut(_binding_0); } Item::Static(_binding_0) => { v.visit_item_static_mut(_binding_0); } Item::Struct(_binding_0) => { v.visit_item_struct_mut(_binding_0); } Item::Trait(_binding_0) => { v.visit_item_trait_mut(_binding_0); } Item::TraitAlias(_binding_0) => { v.visit_item_trait_alias_mut(_binding_0); } Item::Type(_binding_0) => { v.visit_item_type_mut(_binding_0); } Item::Union(_binding_0) => { v.visit_item_union_mut(_binding_0); } Item::Use(_binding_0) => { v.visit_item_use_mut(_binding_0); } Item::Verbatim(_binding_0) => { skip!(_binding_0); } _ => unreachable!(), } } #[cfg(feature = "full")] pub fn visit_item_const_mut(v: &mut V, node: &mut ItemConst) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); tokens_helper(v, &mut node.const_token.span); v.visit_ident_mut(&mut node.ident); tokens_helper(v, &mut node.colon_token.spans); v.visit_type_mut(&mut *node.ty); tokens_helper(v, &mut node.eq_token.spans); v.visit_expr_mut(&mut *node.expr); tokens_helper(v, &mut node.semi_token.spans); } #[cfg(feature = "full")] pub fn visit_item_enum_mut(v: &mut V, node: &mut ItemEnum) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); tokens_helper(v, &mut node.enum_token.span); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); tokens_helper(v, &mut node.brace_token.span); for el in Punctuated::pairs_mut(&mut node.variants) { let (it, p) = el.into_tuple(); v.visit_variant_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(feature = "full")] pub fn visit_item_extern_crate_mut(v: &mut V, node: &mut ItemExternCrate) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); tokens_helper(v, &mut node.extern_token.span); tokens_helper(v, &mut node.crate_token.span); v.visit_ident_mut(&mut node.ident); if let Some(it) = &mut node.rename { tokens_helper(v, &mut (it).0.span); v.visit_ident_mut(&mut (it).1); }; tokens_helper(v, &mut node.semi_token.spans); } #[cfg(feature = "full")] pub fn visit_item_fn_mut(v: &mut V, node: &mut ItemFn) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); v.visit_signature_mut(&mut node.sig); v.visit_block_mut(&mut *node.block); } #[cfg(feature = "full")] pub fn visit_item_foreign_mod_mut(v: &mut V, node: &mut ItemForeignMod) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_abi_mut(&mut node.abi); tokens_helper(v, &mut node.brace_token.span); for it in &mut node.items { v.visit_foreign_item_mut(it) } } #[cfg(feature = "full")] pub fn visit_item_impl_mut(v: &mut V, node: &mut ItemImpl) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } if let Some(it) = &mut node.defaultness { tokens_helper(v, &mut it.span) }; if let Some(it) = &mut node.unsafety { tokens_helper(v, &mut it.span) }; tokens_helper(v, &mut node.impl_token.span); v.visit_generics_mut(&mut node.generics); if let Some(it) = &mut node.trait_ { if let Some(it) = &mut (it).0 { tokens_helper(v, &mut it.spans) }; v.visit_path_mut(&mut (it).1); tokens_helper(v, &mut (it).2.span); }; v.visit_type_mut(&mut *node.self_ty); tokens_helper(v, &mut node.brace_token.span); for it in &mut node.items { v.visit_impl_item_mut(it) } } #[cfg(feature = "full")] pub fn visit_item_macro_mut(v: &mut V, node: &mut ItemMacro) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } if let Some(it) = &mut node.ident { v.visit_ident_mut(it) }; v.visit_macro_mut(&mut node.mac); if let Some(it) = &mut node.semi_token { tokens_helper(v, &mut it.spans) }; } #[cfg(feature = "full")] pub fn visit_item_macro2_mut(v: &mut V, node: &mut ItemMacro2) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); tokens_helper(v, &mut node.macro_token.span); v.visit_ident_mut(&mut node.ident); skip!(node.rules); } #[cfg(feature = "full")] pub fn visit_item_mod_mut(v: &mut V, node: &mut ItemMod) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); tokens_helper(v, &mut node.mod_token.span); v.visit_ident_mut(&mut node.ident); if let Some(it) = &mut node.content { tokens_helper(v, &mut (it).0.span); for it in &mut (it).1 { v.visit_item_mut(it) } }; if let Some(it) = &mut node.semi { tokens_helper(v, &mut it.spans) }; } #[cfg(feature = "full")] pub fn visit_item_static_mut(v: &mut V, node: &mut ItemStatic) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); tokens_helper(v, &mut node.static_token.span); if let Some(it) = &mut node.mutability { tokens_helper(v, &mut it.span) }; v.visit_ident_mut(&mut node.ident); tokens_helper(v, &mut node.colon_token.spans); v.visit_type_mut(&mut *node.ty); tokens_helper(v, &mut node.eq_token.spans); v.visit_expr_mut(&mut *node.expr); tokens_helper(v, &mut node.semi_token.spans); } #[cfg(feature = "full")] pub fn visit_item_struct_mut(v: &mut V, node: &mut ItemStruct) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); tokens_helper(v, &mut node.struct_token.span); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); v.visit_fields_mut(&mut node.fields); if let Some(it) = &mut node.semi_token { tokens_helper(v, &mut it.spans) }; } #[cfg(feature = "full")] pub fn visit_item_trait_mut(v: &mut V, node: &mut ItemTrait) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); if let Some(it) = &mut node.unsafety { tokens_helper(v, &mut it.span) }; if let Some(it) = &mut node.auto_token { tokens_helper(v, &mut it.span) }; tokens_helper(v, &mut node.trait_token.span); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); if let Some(it) = &mut node.colon_token { tokens_helper(v, &mut it.spans) }; for el in Punctuated::pairs_mut(&mut node.supertraits) { let (it, p) = el.into_tuple(); v.visit_type_param_bound_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } tokens_helper(v, &mut node.brace_token.span); for it in &mut node.items { v.visit_trait_item_mut(it) } } #[cfg(feature = "full")] pub fn visit_item_trait_alias_mut(v: &mut V, node: &mut ItemTraitAlias) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); tokens_helper(v, &mut node.trait_token.span); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); tokens_helper(v, &mut node.eq_token.spans); for el in Punctuated::pairs_mut(&mut node.bounds) { let (it, p) = el.into_tuple(); v.visit_type_param_bound_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } tokens_helper(v, &mut node.semi_token.spans); } #[cfg(feature = "full")] pub fn visit_item_type_mut(v: &mut V, node: &mut ItemType) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); tokens_helper(v, &mut node.type_token.span); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); tokens_helper(v, &mut node.eq_token.spans); v.visit_type_mut(&mut *node.ty); tokens_helper(v, &mut node.semi_token.spans); } #[cfg(feature = "full")] pub fn visit_item_union_mut(v: &mut V, node: &mut ItemUnion) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); tokens_helper(v, &mut node.union_token.span); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); v.visit_fields_named_mut(&mut node.fields); } #[cfg(feature = "full")] pub fn visit_item_use_mut(v: &mut V, node: &mut ItemUse) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_visibility_mut(&mut node.vis); tokens_helper(v, &mut node.use_token.span); if let Some(it) = &mut node.leading_colon { tokens_helper(v, &mut it.spans) }; v.visit_use_tree_mut(&mut node.tree); tokens_helper(v, &mut node.semi_token.spans); } #[cfg(feature = "full")] pub fn visit_label_mut(v: &mut V, node: &mut Label) where V: VisitMut + ?Sized, { v.visit_lifetime_mut(&mut node.name); tokens_helper(v, &mut node.colon_token.spans); } pub fn visit_lifetime_mut(v: &mut V, node: &mut Lifetime) where V: VisitMut + ?Sized, { v.visit_span_mut(&mut node.apostrophe); v.visit_ident_mut(&mut node.ident); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_lifetime_def_mut(v: &mut V, node: &mut LifetimeDef) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_lifetime_mut(&mut node.lifetime); if let Some(it) = &mut node.colon_token { tokens_helper(v, &mut it.spans) }; for el in Punctuated::pairs_mut(&mut node.bounds) { let (it, p) = el.into_tuple(); v.visit_lifetime_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_lit_mut(v: &mut V, node: &mut Lit) where V: VisitMut + ?Sized, { match node { Lit::Str(_binding_0) => { v.visit_lit_str_mut(_binding_0); } Lit::ByteStr(_binding_0) => { v.visit_lit_byte_str_mut(_binding_0); } Lit::Byte(_binding_0) => { v.visit_lit_byte_mut(_binding_0); } Lit::Char(_binding_0) => { v.visit_lit_char_mut(_binding_0); } Lit::Int(_binding_0) => { v.visit_lit_int_mut(_binding_0); } Lit::Float(_binding_0) => { v.visit_lit_float_mut(_binding_0); } Lit::Bool(_binding_0) => { v.visit_lit_bool_mut(_binding_0); } Lit::Verbatim(_binding_0) => { skip!(_binding_0); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_lit_bool_mut(v: &mut V, node: &mut LitBool) where V: VisitMut + ?Sized, { skip!(node.value); v.visit_span_mut(&mut node.span); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_lit_byte_mut(v: &mut V, node: &mut LitByte) where V: VisitMut + ?Sized, { } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_lit_byte_str_mut(v: &mut V, node: &mut LitByteStr) where V: VisitMut + ?Sized, { } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_lit_char_mut(v: &mut V, node: &mut LitChar) where V: VisitMut + ?Sized, { } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_lit_float_mut(v: &mut V, node: &mut LitFloat) where V: VisitMut + ?Sized, { } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_lit_int_mut(v: &mut V, node: &mut LitInt) where V: VisitMut + ?Sized, { } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_lit_str_mut(v: &mut V, node: &mut LitStr) where V: VisitMut + ?Sized, { } #[cfg(feature = "full")] pub fn visit_local_mut(v: &mut V, node: &mut Local) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.let_token.span); v.visit_pat_mut(&mut node.pat); if let Some(it) = &mut node.init { tokens_helper(v, &mut (it).0.spans); v.visit_expr_mut(&mut *(it).1); }; tokens_helper(v, &mut node.semi_token.spans); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_macro_mut(v: &mut V, node: &mut Macro) where V: VisitMut + ?Sized, { v.visit_path_mut(&mut node.path); tokens_helper(v, &mut node.bang_token.spans); v.visit_macro_delimiter_mut(&mut node.delimiter); skip!(node.tokens); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_macro_delimiter_mut(v: &mut V, node: &mut MacroDelimiter) where V: VisitMut + ?Sized, { match node { MacroDelimiter::Paren(_binding_0) => { tokens_helper(v, &mut _binding_0.span); } MacroDelimiter::Brace(_binding_0) => { tokens_helper(v, &mut _binding_0.span); } MacroDelimiter::Bracket(_binding_0) => { tokens_helper(v, &mut _binding_0.span); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_member_mut(v: &mut V, node: &mut Member) where V: VisitMut + ?Sized, { match node { Member::Named(_binding_0) => { v.visit_ident_mut(_binding_0); } Member::Unnamed(_binding_0) => { v.visit_index_mut(_binding_0); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_meta_mut(v: &mut V, node: &mut Meta) where V: VisitMut + ?Sized, { match node { Meta::Path(_binding_0) => { v.visit_path_mut(_binding_0); } Meta::List(_binding_0) => { v.visit_meta_list_mut(_binding_0); } Meta::NameValue(_binding_0) => { v.visit_meta_name_value_mut(_binding_0); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_meta_list_mut(v: &mut V, node: &mut MetaList) where V: VisitMut + ?Sized, { v.visit_path_mut(&mut node.path); tokens_helper(v, &mut node.paren_token.span); for el in Punctuated::pairs_mut(&mut node.nested) { let (it, p) = el.into_tuple(); v.visit_nested_meta_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_meta_name_value_mut(v: &mut V, node: &mut MetaNameValue) where V: VisitMut + ?Sized, { v.visit_path_mut(&mut node.path); tokens_helper(v, &mut node.eq_token.spans); v.visit_lit_mut(&mut node.lit); } #[cfg(feature = "full")] pub fn visit_method_turbofish_mut(v: &mut V, node: &mut MethodTurbofish) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.colon2_token.spans); tokens_helper(v, &mut node.lt_token.spans); for el in Punctuated::pairs_mut(&mut node.args) { let (it, p) = el.into_tuple(); v.visit_generic_method_argument_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } tokens_helper(v, &mut node.gt_token.spans); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_nested_meta_mut(v: &mut V, node: &mut NestedMeta) where V: VisitMut + ?Sized, { match node { NestedMeta::Meta(_binding_0) => { v.visit_meta_mut(_binding_0); } NestedMeta::Lit(_binding_0) => { v.visit_lit_mut(_binding_0); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_parenthesized_generic_arguments_mut( v: &mut V, node: &mut ParenthesizedGenericArguments, ) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.paren_token.span); for el in Punctuated::pairs_mut(&mut node.inputs) { let (it, p) = el.into_tuple(); v.visit_type_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } v.visit_return_type_mut(&mut node.output); } #[cfg(feature = "full")] pub fn visit_pat_mut(v: &mut V, node: &mut Pat) where V: VisitMut + ?Sized, { match node { Pat::Box(_binding_0) => { v.visit_pat_box_mut(_binding_0); } Pat::Ident(_binding_0) => { v.visit_pat_ident_mut(_binding_0); } Pat::Lit(_binding_0) => { v.visit_pat_lit_mut(_binding_0); } Pat::Macro(_binding_0) => { v.visit_pat_macro_mut(_binding_0); } Pat::Or(_binding_0) => { v.visit_pat_or_mut(_binding_0); } Pat::Path(_binding_0) => { v.visit_pat_path_mut(_binding_0); } Pat::Range(_binding_0) => { v.visit_pat_range_mut(_binding_0); } Pat::Reference(_binding_0) => { v.visit_pat_reference_mut(_binding_0); } Pat::Rest(_binding_0) => { v.visit_pat_rest_mut(_binding_0); } Pat::Slice(_binding_0) => { v.visit_pat_slice_mut(_binding_0); } Pat::Struct(_binding_0) => { v.visit_pat_struct_mut(_binding_0); } Pat::Tuple(_binding_0) => { v.visit_pat_tuple_mut(_binding_0); } Pat::TupleStruct(_binding_0) => { v.visit_pat_tuple_struct_mut(_binding_0); } Pat::Type(_binding_0) => { v.visit_pat_type_mut(_binding_0); } Pat::Verbatim(_binding_0) => { skip!(_binding_0); } Pat::Wild(_binding_0) => { v.visit_pat_wild_mut(_binding_0); } _ => unreachable!(), } } #[cfg(feature = "full")] pub fn visit_pat_box_mut(v: &mut V, node: &mut PatBox) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.box_token.span); v.visit_pat_mut(&mut *node.pat); } #[cfg(feature = "full")] pub fn visit_pat_ident_mut(v: &mut V, node: &mut PatIdent) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } if let Some(it) = &mut node.by_ref { tokens_helper(v, &mut it.span) }; if let Some(it) = &mut node.mutability { tokens_helper(v, &mut it.span) }; v.visit_ident_mut(&mut node.ident); if let Some(it) = &mut node.subpat { tokens_helper(v, &mut (it).0.spans); v.visit_pat_mut(&mut *(it).1); }; } #[cfg(feature = "full")] pub fn visit_pat_lit_mut(v: &mut V, node: &mut PatLit) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_expr_mut(&mut *node.expr); } #[cfg(feature = "full")] pub fn visit_pat_macro_mut(v: &mut V, node: &mut PatMacro) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_macro_mut(&mut node.mac); } #[cfg(feature = "full")] pub fn visit_pat_or_mut(v: &mut V, node: &mut PatOr) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } if let Some(it) = &mut node.leading_vert { tokens_helper(v, &mut it.spans) }; for el in Punctuated::pairs_mut(&mut node.cases) { let (it, p) = el.into_tuple(); v.visit_pat_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(feature = "full")] pub fn visit_pat_path_mut(v: &mut V, node: &mut PatPath) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } if let Some(it) = &mut node.qself { v.visit_qself_mut(it) }; v.visit_path_mut(&mut node.path); } #[cfg(feature = "full")] pub fn visit_pat_range_mut(v: &mut V, node: &mut PatRange) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_expr_mut(&mut *node.lo); v.visit_range_limits_mut(&mut node.limits); v.visit_expr_mut(&mut *node.hi); } #[cfg(feature = "full")] pub fn visit_pat_reference_mut(v: &mut V, node: &mut PatReference) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.and_token.spans); if let Some(it) = &mut node.mutability { tokens_helper(v, &mut it.span) }; v.visit_pat_mut(&mut *node.pat); } #[cfg(feature = "full")] pub fn visit_pat_rest_mut(v: &mut V, node: &mut PatRest) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.dot2_token.spans); } #[cfg(feature = "full")] pub fn visit_pat_slice_mut(v: &mut V, node: &mut PatSlice) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.bracket_token.span); for el in Punctuated::pairs_mut(&mut node.elems) { let (it, p) = el.into_tuple(); v.visit_pat_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(feature = "full")] pub fn visit_pat_struct_mut(v: &mut V, node: &mut PatStruct) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_path_mut(&mut node.path); tokens_helper(v, &mut node.brace_token.span); for el in Punctuated::pairs_mut(&mut node.fields) { let (it, p) = el.into_tuple(); v.visit_field_pat_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } if let Some(it) = &mut node.dot2_token { tokens_helper(v, &mut it.spans) }; } #[cfg(feature = "full")] pub fn visit_pat_tuple_mut(v: &mut V, node: &mut PatTuple) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.paren_token.span); for el in Punctuated::pairs_mut(&mut node.elems) { let (it, p) = el.into_tuple(); v.visit_pat_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(feature = "full")] pub fn visit_pat_tuple_struct_mut(v: &mut V, node: &mut PatTupleStruct) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_path_mut(&mut node.path); v.visit_pat_tuple_mut(&mut node.pat); } #[cfg(feature = "full")] pub fn visit_pat_type_mut(v: &mut V, node: &mut PatType) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_pat_mut(&mut *node.pat); tokens_helper(v, &mut node.colon_token.spans); v.visit_type_mut(&mut *node.ty); } #[cfg(feature = "full")] pub fn visit_pat_wild_mut(v: &mut V, node: &mut PatWild) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.underscore_token.spans); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_path_mut(v: &mut V, node: &mut Path) where V: VisitMut + ?Sized, { if let Some(it) = &mut node.leading_colon { tokens_helper(v, &mut it.spans) }; for el in Punctuated::pairs_mut(&mut node.segments) { let (it, p) = el.into_tuple(); v.visit_path_segment_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_path_arguments_mut(v: &mut V, node: &mut PathArguments) where V: VisitMut + ?Sized, { match node { PathArguments::None => {} PathArguments::AngleBracketed(_binding_0) => { v.visit_angle_bracketed_generic_arguments_mut(_binding_0); } PathArguments::Parenthesized(_binding_0) => { v.visit_parenthesized_generic_arguments_mut(_binding_0); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_path_segment_mut(v: &mut V, node: &mut PathSegment) where V: VisitMut + ?Sized, { v.visit_ident_mut(&mut node.ident); v.visit_path_arguments_mut(&mut node.arguments); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_predicate_eq_mut(v: &mut V, node: &mut PredicateEq) where V: VisitMut + ?Sized, { v.visit_type_mut(&mut node.lhs_ty); tokens_helper(v, &mut node.eq_token.spans); v.visit_type_mut(&mut node.rhs_ty); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_predicate_lifetime_mut(v: &mut V, node: &mut PredicateLifetime) where V: VisitMut + ?Sized, { v.visit_lifetime_mut(&mut node.lifetime); tokens_helper(v, &mut node.colon_token.spans); for el in Punctuated::pairs_mut(&mut node.bounds) { let (it, p) = el.into_tuple(); v.visit_lifetime_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_predicate_type_mut(v: &mut V, node: &mut PredicateType) where V: VisitMut + ?Sized, { if let Some(it) = &mut node.lifetimes { v.visit_bound_lifetimes_mut(it) }; v.visit_type_mut(&mut node.bounded_ty); tokens_helper(v, &mut node.colon_token.spans); for el in Punctuated::pairs_mut(&mut node.bounds) { let (it, p) = el.into_tuple(); v.visit_type_param_bound_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_qself_mut(v: &mut V, node: &mut QSelf) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.lt_token.spans); v.visit_type_mut(&mut *node.ty); skip!(node.position); if let Some(it) = &mut node.as_token { tokens_helper(v, &mut it.span) }; tokens_helper(v, &mut node.gt_token.spans); } #[cfg(feature = "full")] pub fn visit_range_limits_mut(v: &mut V, node: &mut RangeLimits) where V: VisitMut + ?Sized, { match node { RangeLimits::HalfOpen(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } RangeLimits::Closed(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } } } #[cfg(feature = "full")] pub fn visit_receiver_mut(v: &mut V, node: &mut Receiver) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } if let Some(it) = &mut node.reference { tokens_helper(v, &mut (it).0.spans); if let Some(it) = &mut (it).1 { v.visit_lifetime_mut(it) }; }; if let Some(it) = &mut node.mutability { tokens_helper(v, &mut it.span) }; tokens_helper(v, &mut node.self_token.span); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_return_type_mut(v: &mut V, node: &mut ReturnType) where V: VisitMut + ?Sized, { match node { ReturnType::Default => {} ReturnType::Type(_binding_0, _binding_1) => { tokens_helper(v, &mut _binding_0.spans); v.visit_type_mut(&mut **_binding_1); } } } #[cfg(feature = "full")] pub fn visit_signature_mut(v: &mut V, node: &mut Signature) where V: VisitMut + ?Sized, { if let Some(it) = &mut node.constness { tokens_helper(v, &mut it.span) }; if let Some(it) = &mut node.asyncness { tokens_helper(v, &mut it.span) }; if let Some(it) = &mut node.unsafety { tokens_helper(v, &mut it.span) }; if let Some(it) = &mut node.abi { v.visit_abi_mut(it) }; tokens_helper(v, &mut node.fn_token.span); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); tokens_helper(v, &mut node.paren_token.span); for el in Punctuated::pairs_mut(&mut node.inputs) { let (it, p) = el.into_tuple(); v.visit_fn_arg_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } if let Some(it) = &mut node.variadic { v.visit_variadic_mut(it) }; v.visit_return_type_mut(&mut node.output); } pub fn visit_span_mut(v: &mut V, node: &mut Span) where V: VisitMut + ?Sized, { } #[cfg(feature = "full")] pub fn visit_stmt_mut(v: &mut V, node: &mut Stmt) where V: VisitMut + ?Sized, { match node { Stmt::Local(_binding_0) => { v.visit_local_mut(_binding_0); } Stmt::Item(_binding_0) => { v.visit_item_mut(_binding_0); } Stmt::Expr(_binding_0) => { v.visit_expr_mut(_binding_0); } Stmt::Semi(_binding_0, _binding_1) => { v.visit_expr_mut(_binding_0); tokens_helper(v, &mut _binding_1.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_trait_bound_mut(v: &mut V, node: &mut TraitBound) where V: VisitMut + ?Sized, { if let Some(it) = &mut node.paren_token { tokens_helper(v, &mut it.span) }; v.visit_trait_bound_modifier_mut(&mut node.modifier); if let Some(it) = &mut node.lifetimes { v.visit_bound_lifetimes_mut(it) }; v.visit_path_mut(&mut node.path); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_trait_bound_modifier_mut(v: &mut V, node: &mut TraitBoundModifier) where V: VisitMut + ?Sized, { match node { TraitBoundModifier::None => {} TraitBoundModifier::Maybe(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } } } #[cfg(feature = "full")] pub fn visit_trait_item_mut(v: &mut V, node: &mut TraitItem) where V: VisitMut + ?Sized, { match node { TraitItem::Const(_binding_0) => { v.visit_trait_item_const_mut(_binding_0); } TraitItem::Method(_binding_0) => { v.visit_trait_item_method_mut(_binding_0); } TraitItem::Type(_binding_0) => { v.visit_trait_item_type_mut(_binding_0); } TraitItem::Macro(_binding_0) => { v.visit_trait_item_macro_mut(_binding_0); } TraitItem::Verbatim(_binding_0) => { skip!(_binding_0); } _ => unreachable!(), } } #[cfg(feature = "full")] pub fn visit_trait_item_const_mut(v: &mut V, node: &mut TraitItemConst) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.const_token.span); v.visit_ident_mut(&mut node.ident); tokens_helper(v, &mut node.colon_token.spans); v.visit_type_mut(&mut node.ty); if let Some(it) = &mut node.default { tokens_helper(v, &mut (it).0.spans); v.visit_expr_mut(&mut (it).1); }; tokens_helper(v, &mut node.semi_token.spans); } #[cfg(feature = "full")] pub fn visit_trait_item_macro_mut(v: &mut V, node: &mut TraitItemMacro) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_macro_mut(&mut node.mac); if let Some(it) = &mut node.semi_token { tokens_helper(v, &mut it.spans) }; } #[cfg(feature = "full")] pub fn visit_trait_item_method_mut(v: &mut V, node: &mut TraitItemMethod) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_signature_mut(&mut node.sig); if let Some(it) = &mut node.default { v.visit_block_mut(it) }; if let Some(it) = &mut node.semi_token { tokens_helper(v, &mut it.spans) }; } #[cfg(feature = "full")] pub fn visit_trait_item_type_mut(v: &mut V, node: &mut TraitItemType) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.type_token.span); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); if let Some(it) = &mut node.colon_token { tokens_helper(v, &mut it.spans) }; for el in Punctuated::pairs_mut(&mut node.bounds) { let (it, p) = el.into_tuple(); v.visit_type_param_bound_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } if let Some(it) = &mut node.default { tokens_helper(v, &mut (it).0.spans); v.visit_type_mut(&mut (it).1); }; tokens_helper(v, &mut node.semi_token.spans); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_mut(v: &mut V, node: &mut Type) where V: VisitMut + ?Sized, { match node { Type::Array(_binding_0) => { v.visit_type_array_mut(_binding_0); } Type::BareFn(_binding_0) => { v.visit_type_bare_fn_mut(_binding_0); } Type::Group(_binding_0) => { v.visit_type_group_mut(_binding_0); } Type::ImplTrait(_binding_0) => { v.visit_type_impl_trait_mut(_binding_0); } Type::Infer(_binding_0) => { v.visit_type_infer_mut(_binding_0); } Type::Macro(_binding_0) => { v.visit_type_macro_mut(_binding_0); } Type::Never(_binding_0) => { v.visit_type_never_mut(_binding_0); } Type::Paren(_binding_0) => { v.visit_type_paren_mut(_binding_0); } Type::Path(_binding_0) => { v.visit_type_path_mut(_binding_0); } Type::Ptr(_binding_0) => { v.visit_type_ptr_mut(_binding_0); } Type::Reference(_binding_0) => { v.visit_type_reference_mut(_binding_0); } Type::Slice(_binding_0) => { v.visit_type_slice_mut(_binding_0); } Type::TraitObject(_binding_0) => { v.visit_type_trait_object_mut(_binding_0); } Type::Tuple(_binding_0) => { v.visit_type_tuple_mut(_binding_0); } Type::Verbatim(_binding_0) => { skip!(_binding_0); } _ => unreachable!(), } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_array_mut(v: &mut V, node: &mut TypeArray) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.bracket_token.span); v.visit_type_mut(&mut *node.elem); tokens_helper(v, &mut node.semi_token.spans); v.visit_expr_mut(&mut node.len); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_bare_fn_mut(v: &mut V, node: &mut TypeBareFn) where V: VisitMut + ?Sized, { if let Some(it) = &mut node.lifetimes { v.visit_bound_lifetimes_mut(it) }; if let Some(it) = &mut node.unsafety { tokens_helper(v, &mut it.span) }; if let Some(it) = &mut node.abi { v.visit_abi_mut(it) }; tokens_helper(v, &mut node.fn_token.span); tokens_helper(v, &mut node.paren_token.span); for el in Punctuated::pairs_mut(&mut node.inputs) { let (it, p) = el.into_tuple(); v.visit_bare_fn_arg_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } if let Some(it) = &mut node.variadic { v.visit_variadic_mut(it) }; v.visit_return_type_mut(&mut node.output); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_group_mut(v: &mut V, node: &mut TypeGroup) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.group_token.span); v.visit_type_mut(&mut *node.elem); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_impl_trait_mut(v: &mut V, node: &mut TypeImplTrait) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.impl_token.span); for el in Punctuated::pairs_mut(&mut node.bounds) { let (it, p) = el.into_tuple(); v.visit_type_param_bound_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_infer_mut(v: &mut V, node: &mut TypeInfer) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.underscore_token.spans); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_macro_mut(v: &mut V, node: &mut TypeMacro) where V: VisitMut + ?Sized, { v.visit_macro_mut(&mut node.mac); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_never_mut(v: &mut V, node: &mut TypeNever) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.bang_token.spans); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_param_mut(v: &mut V, node: &mut TypeParam) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_ident_mut(&mut node.ident); if let Some(it) = &mut node.colon_token { tokens_helper(v, &mut it.spans) }; for el in Punctuated::pairs_mut(&mut node.bounds) { let (it, p) = el.into_tuple(); v.visit_type_param_bound_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } if let Some(it) = &mut node.eq_token { tokens_helper(v, &mut it.spans) }; if let Some(it) = &mut node.default { v.visit_type_mut(it) }; } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_param_bound_mut(v: &mut V, node: &mut TypeParamBound) where V: VisitMut + ?Sized, { match node { TypeParamBound::Trait(_binding_0) => { v.visit_trait_bound_mut(_binding_0); } TypeParamBound::Lifetime(_binding_0) => { v.visit_lifetime_mut(_binding_0); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_paren_mut(v: &mut V, node: &mut TypeParen) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.paren_token.span); v.visit_type_mut(&mut *node.elem); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_path_mut(v: &mut V, node: &mut TypePath) where V: VisitMut + ?Sized, { if let Some(it) = &mut node.qself { v.visit_qself_mut(it) }; v.visit_path_mut(&mut node.path); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_ptr_mut(v: &mut V, node: &mut TypePtr) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.star_token.spans); if let Some(it) = &mut node.const_token { tokens_helper(v, &mut it.span) }; if let Some(it) = &mut node.mutability { tokens_helper(v, &mut it.span) }; v.visit_type_mut(&mut *node.elem); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_reference_mut(v: &mut V, node: &mut TypeReference) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.and_token.spans); if let Some(it) = &mut node.lifetime { v.visit_lifetime_mut(it) }; if let Some(it) = &mut node.mutability { tokens_helper(v, &mut it.span) }; v.visit_type_mut(&mut *node.elem); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_slice_mut(v: &mut V, node: &mut TypeSlice) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.bracket_token.span); v.visit_type_mut(&mut *node.elem); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_trait_object_mut(v: &mut V, node: &mut TypeTraitObject) where V: VisitMut + ?Sized, { if let Some(it) = &mut node.dyn_token { tokens_helper(v, &mut it.span) }; for el in Punctuated::pairs_mut(&mut node.bounds) { let (it, p) = el.into_tuple(); v.visit_type_param_bound_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_tuple_mut(v: &mut V, node: &mut TypeTuple) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.paren_token.span); for el in Punctuated::pairs_mut(&mut node.elems) { let (it, p) = el.into_tuple(); v.visit_type_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_un_op_mut(v: &mut V, node: &mut UnOp) where V: VisitMut + ?Sized, { match node { UnOp::Deref(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } UnOp::Not(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } UnOp::Neg(_binding_0) => { tokens_helper(v, &mut _binding_0.spans); } } } #[cfg(feature = "full")] pub fn visit_use_glob_mut(v: &mut V, node: &mut UseGlob) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.star_token.spans); } #[cfg(feature = "full")] pub fn visit_use_group_mut(v: &mut V, node: &mut UseGroup) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.brace_token.span); for el in Punctuated::pairs_mut(&mut node.items) { let (it, p) = el.into_tuple(); v.visit_use_tree_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(feature = "full")] pub fn visit_use_name_mut(v: &mut V, node: &mut UseName) where V: VisitMut + ?Sized, { v.visit_ident_mut(&mut node.ident); } #[cfg(feature = "full")] pub fn visit_use_path_mut(v: &mut V, node: &mut UsePath) where V: VisitMut + ?Sized, { v.visit_ident_mut(&mut node.ident); tokens_helper(v, &mut node.colon2_token.spans); v.visit_use_tree_mut(&mut *node.tree); } #[cfg(feature = "full")] pub fn visit_use_rename_mut(v: &mut V, node: &mut UseRename) where V: VisitMut + ?Sized, { v.visit_ident_mut(&mut node.ident); tokens_helper(v, &mut node.as_token.span); v.visit_ident_mut(&mut node.rename); } #[cfg(feature = "full")] pub fn visit_use_tree_mut(v: &mut V, node: &mut UseTree) where V: VisitMut + ?Sized, { match node { UseTree::Path(_binding_0) => { v.visit_use_path_mut(_binding_0); } UseTree::Name(_binding_0) => { v.visit_use_name_mut(_binding_0); } UseTree::Rename(_binding_0) => { v.visit_use_rename_mut(_binding_0); } UseTree::Glob(_binding_0) => { v.visit_use_glob_mut(_binding_0); } UseTree::Group(_binding_0) => { v.visit_use_group_mut(_binding_0); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_variadic_mut(v: &mut V, node: &mut Variadic) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } tokens_helper(v, &mut node.dots.spans); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_variant_mut(v: &mut V, node: &mut Variant) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it) } v.visit_ident_mut(&mut node.ident); v.visit_fields_mut(&mut node.fields); if let Some(it) = &mut node.discriminant { tokens_helper(v, &mut (it).0.spans); v.visit_expr_mut(&mut (it).1); }; } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_vis_crate_mut(v: &mut V, node: &mut VisCrate) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.crate_token.span); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_vis_public_mut(v: &mut V, node: &mut VisPublic) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.pub_token.span); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_vis_restricted_mut(v: &mut V, node: &mut VisRestricted) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.pub_token.span); tokens_helper(v, &mut node.paren_token.span); if let Some(it) = &mut node.in_token { tokens_helper(v, &mut it.span) }; v.visit_path_mut(&mut *node.path); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_visibility_mut(v: &mut V, node: &mut Visibility) where V: VisitMut + ?Sized, { match node { Visibility::Public(_binding_0) => { v.visit_vis_public_mut(_binding_0); } Visibility::Crate(_binding_0) => { v.visit_vis_crate_mut(_binding_0); } Visibility::Restricted(_binding_0) => { v.visit_vis_restricted_mut(_binding_0); } Visibility::Inherited => {} } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_where_clause_mut(v: &mut V, node: &mut WhereClause) where V: VisitMut + ?Sized, { tokens_helper(v, &mut node.where_token.span); for el in Punctuated::pairs_mut(&mut node.predicates) { let (it, p) = el.into_tuple(); v.visit_where_predicate_mut(it); if let Some(p) = p { tokens_helper(v, &mut p.spans); } } } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_where_predicate_mut(v: &mut V, node: &mut WherePredicate) where V: VisitMut + ?Sized, { match node { WherePredicate::Type(_binding_0) => { v.visit_predicate_type_mut(_binding_0); } WherePredicate::Lifetime(_binding_0) => { v.visit_predicate_lifetime_mut(_binding_0); } WherePredicate::Eq(_binding_0) => { v.visit_predicate_eq_mut(_binding_0); } } }