Trait fuzzy_pickles::visit::Visitor
source · pub trait Visitor<'ast> {
Show 388 methods
fn visit_argument(&mut self, : &'ast Argument) -> Control { ... }
fn visit_array(&mut self, : &'ast Array) -> Control { ... }
fn visit_array_explicit(&mut self, : &'ast ArrayExplicit) -> Control { ... }
fn visit_array_repeated(&mut self, : &'ast ArrayRepeated) -> Control { ... }
fn visit_as_type(&mut self, : &'ast AsType) -> Control { ... }
fn visit_ascription(&mut self, : &'ast Ascription) -> Control { ... }
fn visit_associated_type(&mut self, : &'ast AssociatedType) -> Control { ... }
fn visit_attribute(&mut self, : &'ast Attribute) -> Control { ... }
fn visit_attribute_literal(&mut self, : &'ast AttributeLiteral) -> Control { ... }
fn visit_attribute_containing(
&mut self,
: &'ast AttributeContaining
) -> Control { ... }
fn visit_attribute_containing_literal(
&mut self,
: &'ast AttributeContainingLiteral
) -> Control { ... }
fn visit_attributed_enum_variant(
&mut self,
: &'ast Attributed<EnumVariant>
) -> Control { ... }
fn visit_attributed_expression(
&mut self,
: &'ast Attributed<Expression>
) -> Control { ... }
fn visit_attributed_extern_block_member(
&mut self,
: &'ast Attributed<ExternBlockMember>
) -> Control { ... }
fn visit_attributed_generic_declaration_lifetime(
&mut self,
: &'ast Attributed<GenericDeclarationLifetime>
) -> Control { ... }
fn visit_attributed_generic_declaration_type(
&mut self,
: &'ast Attributed<GenericDeclarationType>
) -> Control { ... }
fn visit_attributed_impl_member(
&mut self,
: &'ast Attributed<ImplMember>
) -> Control { ... }
fn visit_attributed_item(&mut self, : &'ast Attributed<Item>) -> Control { ... }
fn visit_attributed_struct_definition_field_named(
&mut self,
: &'ast Attributed<StructDefinitionFieldNamed>
) -> Control { ... }
fn visit_attributed_struct_definition_field_unnamed(
&mut self,
: &'ast Attributed<StructDefinitionFieldUnnamed>
) -> Control { ... }
fn visit_attributed_trait_member(
&mut self,
: &'ast Attributed<TraitMember>
) -> Control { ... }
fn visit_binary(&mut self, : &'ast Binary) -> Control { ... }
fn visit_block(&mut self, : &'ast Block) -> Control { ... }
fn visit_break(&mut self, : &'ast Break) -> Control { ... }
fn visit_byte(&mut self, : &'ast Byte) -> Control { ... }
fn visit_byte_string(&mut self, : &'ast ByteString) -> Control { ... }
fn visit_call(&mut self, : &'ast Call) -> Control { ... }
fn visit_character(&mut self, : &'ast Character) -> Control { ... }
fn visit_closure(&mut self, : &'ast Closure) -> Control { ... }
fn visit_closure_arg(&mut self, : &'ast ClosureArg) -> Control { ... }
fn visit_comment(&mut self, : &'ast Comment) -> Control { ... }
fn visit_const(&mut self, : &'ast Const) -> Control { ... }
fn visit_continue(&mut self, : &'ast Continue) -> Control { ... }
fn visit_crate(&mut self, : &'ast Crate) -> Control { ... }
fn visit_dereference(&mut self, : &'ast Dereference) -> Control { ... }
fn visit_disambiguation(&mut self, : &'ast Disambiguation) -> Control { ... }
fn visit_enum(&mut self, : &'ast Enum) -> Control { ... }
fn visit_enum_variant(&mut self, : &'ast EnumVariant) -> Control { ... }
fn visit_enum_variant_body(&mut self, : &'ast EnumVariantBody) -> Control { ... }
fn visit_expression(&mut self, : &'ast Expression) -> Control { ... }
fn visit_expression_box(&mut self, : &'ast ExpressionBox) -> Control { ... }
fn visit_extern_block(&mut self, : &'ast ExternBlock) -> Control { ... }
fn visit_extern_block_member(&mut self, : &'ast ExternBlockMember) -> Control { ... }
fn visit_extern_block_member_function(
&mut self,
: &'ast ExternBlockMemberFunction
) -> Control { ... }
fn visit_extern_block_member_function_argument(
&mut self,
: &'ast ExternBlockMemberFunctionArgument
) -> Control { ... }
fn visit_extern_block_member_function_argument_named(
&mut self,
: &'ast ExternBlockMemberFunctionArgumentNamed
) -> Control { ... }
fn visit_extern_block_member_function_argument_variadic(
&mut self,
: &'ast ExternBlockMemberFunctionArgumentVariadic
) -> Control { ... }
fn visit_extern_block_member_static(
&mut self,
: &'ast ExternBlockMemberStatic
) -> Control { ... }
fn visit_extern_block_member_type(
&mut self,
: &'ast ExternBlockMemberType
) -> Control { ... }
fn visit_field_access(&mut self, : &'ast FieldAccess) -> Control { ... }
fn visit_field_name(&mut self, : &'ast FieldName) -> Control { ... }
fn visit_file(&mut self, : &'ast File) -> Control { ... }
fn visit_for_loop(&mut self, : &'ast ForLoop) -> Control { ... }
fn visit_function(&mut self, : &'ast Function) -> Control { ... }
fn visit_function_header(&mut self, : &'ast FunctionHeader) -> Control { ... }
fn visit_function_qualifiers(
&mut self,
: &'ast FunctionQualifiers
) -> Control { ... }
fn visit_generic_declaration_lifetime(
&mut self,
: &'ast GenericDeclarationLifetime
) -> Control { ... }
fn visit_generic_declaration_type(
&mut self,
: &'ast GenericDeclarationType
) -> Control { ... }
fn visit_generic_declarations(
&mut self,
: &'ast GenericDeclarations
) -> Control { ... }
fn visit_ident(&mut self, : &'ast Ident) -> Control { ... }
fn visit_if(&mut self, : &'ast If) -> Control { ... }
fn visit_if_let(&mut self, : &'ast IfLet) -> Control { ... }
fn visit_impl(&mut self, : &'ast Impl) -> Control { ... }
fn visit_impl_const(&mut self, : &'ast ImplConst) -> Control { ... }
fn visit_impl_function(&mut self, : &'ast ImplFunction) -> Control { ... }
fn visit_impl_kind(&mut self, : &'ast ImplKind) -> Control { ... }
fn visit_impl_member(&mut self, : &'ast ImplMember) -> Control { ... }
fn visit_impl_of_inherent(&mut self, : &'ast ImplOfInherent) -> Control { ... }
fn visit_impl_of_trait(&mut self, : &'ast ImplOfTrait) -> Control { ... }
fn visit_impl_of_trait_type(&mut self, : &'ast ImplOfTraitType) -> Control { ... }
fn visit_impl_type(&mut self, : &'ast ImplType) -> Control { ... }
fn visit_item(&mut self, : &'ast Item) -> Control { ... }
fn visit_let(&mut self, : &'ast Let) -> Control { ... }
fn visit_lifetime(&mut self, : &'ast Lifetime) -> Control { ... }
fn visit_loop(&mut self, : &'ast Loop) -> Control { ... }
fn visit_macro_call(&mut self, : &'ast MacroCall) -> Control { ... }
fn visit_macro_call_args(&mut self, : &'ast MacroCallArgs) -> Control { ... }
fn visit_match(&mut self, : &'ast Match) -> Control { ... }
fn visit_match_arm(&mut self, : &'ast MatchArm) -> Control { ... }
fn visit_match_hand(&mut self, : &'ast MatchHand) -> Control { ... }
fn visit_module(&mut self, : &'ast Module) -> Control { ... }
fn visit_named_argument(&mut self, : &'ast NamedArgument) -> Control { ... }
fn visit_number(&mut self, : &'ast Number) -> Control { ... }
fn visit_number_value(&mut self, : &'ast NumberValue) -> Control { ... }
fn visit_number_binary(&mut self, : &'ast NumberBinary) -> Control { ... }
fn visit_number_decimal(&mut self, : &'ast NumberDecimal) -> Control { ... }
fn visit_number_hexadecimal(&mut self, : &'ast NumberHexadecimal) -> Control { ... }
fn visit_number_octal(&mut self, : &'ast NumberOctal) -> Control { ... }
fn visit_parenthetical(&mut self, : &'ast Parenthetical) -> Control { ... }
fn visit_path(&mut self, : &'ast Path) -> Control { ... }
fn visit_path_component(&mut self, : &'ast PathComponent) -> Control { ... }
fn visit_pathed_ident(&mut self, : &'ast PathedIdent) -> Control { ... }
fn visit_pattern(&mut self, : &'ast Pattern) -> Control { ... }
fn visit_pattern_box(&mut self, : &'ast PatternBox) -> Control { ... }
fn visit_pattern_byte(&mut self, : &'ast PatternByte) -> Control { ... }
fn visit_pattern_byte_string(&mut self, : &'ast PatternByteString) -> Control { ... }
fn visit_pattern_character(&mut self, : &'ast PatternCharacter) -> Control { ... }
fn visit_pattern_ident(&mut self, : &'ast PatternIdent) -> Control { ... }
fn visit_pattern_kind(&mut self, : &'ast PatternKind) -> Control { ... }
fn visit_pattern_macro_call(&mut self, : &'ast PatternMacroCall) -> Control { ... }
fn visit_pattern_name(&mut self, : &'ast PatternName) -> Control { ... }
fn visit_pattern_number(&mut self, : &'ast PatternNumber) -> Control { ... }
fn visit_pattern_range_component(
&mut self,
: &'ast PatternRangeComponent
) -> Control { ... }
fn visit_pattern_range_exclusive(
&mut self,
: &'ast PatternRangeExclusive
) -> Control { ... }
fn visit_pattern_range_inclusive(
&mut self,
: &'ast PatternRangeInclusive
) -> Control { ... }
fn visit_pattern_reference(&mut self, : &'ast PatternReference) -> Control { ... }
fn visit_pattern_slice(&mut self, : &'ast PatternSlice) -> Control { ... }
fn visit_pattern_slice_member(
&mut self,
: &'ast PatternSliceMember
) -> Control { ... }
fn visit_pattern_slice_subslice(
&mut self,
: &'ast PatternSliceSubslice
) -> Control { ... }
fn visit_pattern_string(&mut self, : &'ast PatternString) -> Control { ... }
fn visit_pattern_struct(&mut self, : &'ast PatternStruct) -> Control { ... }
fn visit_pattern_struct_field(
&mut self,
: &'ast PatternStructField
) -> Control { ... }
fn visit_pattern_struct_field_long(
&mut self,
: &'ast PatternStructFieldLong
) -> Control { ... }
fn visit_pattern_struct_field_short(
&mut self,
: &'ast PatternStructFieldShort
) -> Control { ... }
fn visit_pattern_tuple(&mut self, : &'ast PatternTuple) -> Control { ... }
fn visit_pattern_tuple_member(
&mut self,
: &'ast PatternTupleMember
) -> Control { ... }
fn visit_range(&mut self, : &'ast Range) -> Control { ... }
fn visit_range_inclusive(&mut self, : &'ast RangeInclusive) -> Control { ... }
fn visit_reference(&mut self, : &'ast Reference) -> Control { ... }
fn visit_return(&mut self, : &'ast Return) -> Control { ... }
fn visit_self_argument(&mut self, : &'ast SelfArgument) -> Control { ... }
fn visit_self_argument_longhand(
&mut self,
: &'ast SelfArgumentLonghand
) -> Control { ... }
fn visit_self_argument_shorthand(
&mut self,
: &'ast SelfArgumentShorthand
) -> Control { ... }
fn visit_self_argument_shorthand_qualifier(
&mut self,
: &'ast SelfArgumentShorthandQualifier
) -> Control { ... }
fn visit_slice(&mut self, : &'ast Slice) -> Control { ... }
fn visit_statement(&mut self, : &'ast Statement) -> Control { ... }
fn visit_static(&mut self, : &'ast Static) -> Control { ... }
fn visit_string(&mut self, : &'ast String) -> Control { ... }
fn visit_struct(&mut self, : &'ast Struct) -> Control { ... }
fn visit_struct_definition_body(
&mut self,
: &'ast StructDefinitionBody
) -> Control { ... }
fn visit_struct_definition_body_brace(
&mut self,
: &'ast StructDefinitionBodyBrace
) -> Control { ... }
fn visit_struct_definition_body_tuple(
&mut self,
: &'ast StructDefinitionBodyTuple
) -> Control { ... }
fn visit_struct_definition_field_named(
&mut self,
: &'ast StructDefinitionFieldNamed
) -> Control { ... }
fn visit_struct_definition_field_unnamed(
&mut self,
: &'ast StructDefinitionFieldUnnamed
) -> Control { ... }
fn visit_struct_literal(&mut self, : &'ast StructLiteral) -> Control { ... }
fn visit_struct_literal_field(
&mut self,
: &'ast StructLiteralField
) -> Control { ... }
fn visit_trait(&mut self, : &'ast Trait) -> Control { ... }
fn visit_trait_bound(&mut self, : &'ast TraitBound) -> Control { ... }
fn visit_trait_bound_lifetime(
&mut self,
: &'ast TraitBoundLifetime
) -> Control { ... }
fn visit_trait_bound_normal(&mut self, : &'ast TraitBoundNormal) -> Control { ... }
fn visit_trait_bound_relaxed(&mut self, : &'ast TraitBoundRelaxed) -> Control { ... }
fn visit_trait_bound_type(&mut self, : &'ast TraitBoundType) -> Control { ... }
fn visit_trait_bounds(&mut self, : &'ast TraitBounds) -> Control { ... }
fn visit_trait_impl_argument(&mut self, : &'ast TraitImplArgument) -> Control { ... }
fn visit_trait_impl_argument_named(
&mut self,
: &'ast TraitImplArgumentNamed
) -> Control { ... }
fn visit_trait_impl_function_header(
&mut self,
: &'ast TraitImplFunctionHeader
) -> Control { ... }
fn visit_trait_member(&mut self, : &'ast TraitMember) -> Control { ... }
fn visit_trait_member_const(&mut self, : &'ast TraitMemberConst) -> Control { ... }
fn visit_trait_member_function(
&mut self,
: &'ast TraitMemberFunction
) -> Control { ... }
fn visit_trait_member_type(&mut self, : &'ast TraitMemberType) -> Control { ... }
fn visit_try_operator(&mut self, : &'ast TryOperator) -> Control { ... }
fn visit_tuple(&mut self, : &'ast Tuple) -> Control { ... }
fn visit_turbofish(&mut self, : &'ast Turbofish) -> Control { ... }
fn visit_type(&mut self, : &'ast Type) -> Control { ... }
fn visit_type_additional(&mut self, : &'ast TypeAdditional) -> Control { ... }
fn visit_type_alias(&mut self, : &'ast TypeAlias) -> Control { ... }
fn visit_type_array(&mut self, : &'ast TypeArray) -> Control { ... }
fn visit_type_disambiguation(
&mut self,
: &'ast TypeDisambiguation
) -> Control { ... }
fn visit_type_function(&mut self, : &'ast TypeFunction) -> Control { ... }
fn visit_type_function_argument(
&mut self,
: &'ast TypeFunctionArgument
) -> Control { ... }
fn visit_type_function_argument_named(
&mut self,
: &'ast TypeFunctionArgumentNamed
) -> Control { ... }
fn visit_type_generics(&mut self, : &'ast TypeGenerics) -> Control { ... }
fn visit_type_generics_angle(&mut self, : &'ast TypeGenericsAngle) -> Control { ... }
fn visit_type_generics_angle_member(
&mut self,
: &'ast TypeGenericsAngleMember
) -> Control { ... }
fn visit_type_generics_function(
&mut self,
: &'ast TypeGenericsFunction
) -> Control { ... }
fn visit_type_higher_ranked_trait_bounds(
&mut self,
: &'ast TypeHigherRankedTraitBounds
) -> Control { ... }
fn visit_type_higher_ranked_trait_bounds_child(
&mut self,
: &'ast TypeHigherRankedTraitBoundsChild
) -> Control { ... }
fn visit_type_impl_trait(&mut self, : &'ast TypeImplTrait) -> Control { ... }
fn visit_type_kind(&mut self, : &'ast TypeKind) -> Control { ... }
fn visit_type_named(&mut self, : &'ast TypeNamed) -> Control { ... }
fn visit_type_named_component(
&mut self,
: &'ast TypeNamedComponent
) -> Control { ... }
fn visit_type_pointer(&mut self, : &'ast TypePointer) -> Control { ... }
fn visit_type_reference(&mut self, : &'ast TypeReference) -> Control { ... }
fn visit_type_reference_kind(&mut self, : &'ast TypeReferenceKind) -> Control { ... }
fn visit_type_slice(&mut self, : &'ast TypeSlice) -> Control { ... }
fn visit_type_tuple(&mut self, : &'ast TypeTuple) -> Control { ... }
fn visit_unary(&mut self, : &'ast Unary) -> Control { ... }
fn visit_union(&mut self, : &'ast Union) -> Control { ... }
fn visit_unsafe_block(&mut self, : &'ast UnsafeBlock) -> Control { ... }
fn visit_use(&mut self, : &'ast Use) -> Control { ... }
fn visit_use_path(&mut self, : &'ast UsePath) -> Control { ... }
fn visit_use_tail(&mut self, : &'ast UseTail) -> Control { ... }
fn visit_use_tail_glob(&mut self, : &'ast UseTailGlob) -> Control { ... }
fn visit_use_tail_ident(&mut self, : &'ast UseTailIdent) -> Control { ... }
fn visit_use_tail_multi(&mut self, : &'ast UseTailMulti) -> Control { ... }
fn visit_value(&mut self, : &'ast Value) -> Control { ... }
fn visit_visibility(&mut self, : &'ast Visibility) -> Control { ... }
fn visit_where(&mut self, : &'ast Where) -> Control { ... }
fn visit_where_kind(&mut self, : &'ast WhereKind) -> Control { ... }
fn visit_where_lifetime(&mut self, : &'ast WhereLifetime) -> Control { ... }
fn visit_where_type(&mut self, : &'ast WhereType) -> Control { ... }
fn visit_while(&mut self, : &'ast While) -> Control { ... }
fn visit_while_let(&mut self, : &'ast WhileLet) -> Control { ... }
fn visit_whitespace(&mut self, : &'ast Whitespace) -> Control { ... }
fn exit_argument(&mut self, : &'ast Argument) { ... }
fn exit_array(&mut self, : &'ast Array) { ... }
fn exit_array_explicit(&mut self, : &'ast ArrayExplicit) { ... }
fn exit_array_repeated(&mut self, : &'ast ArrayRepeated) { ... }
fn exit_as_type(&mut self, : &'ast AsType) { ... }
fn exit_ascription(&mut self, : &'ast Ascription) { ... }
fn exit_associated_type(&mut self, : &'ast AssociatedType) { ... }
fn exit_attribute(&mut self, : &'ast Attribute) { ... }
fn exit_attribute_literal(&mut self, : &'ast AttributeLiteral) { ... }
fn exit_attribute_containing(&mut self, : &'ast AttributeContaining) { ... }
fn exit_attribute_containing_literal(
&mut self,
: &'ast AttributeContainingLiteral
) { ... }
fn exit_attributed_enum_variant(&mut self, : &'ast Attributed<EnumVariant>) { ... }
fn exit_attributed_expression(&mut self, : &'ast Attributed<Expression>) { ... }
fn exit_attributed_extern_block_member(
&mut self,
: &'ast Attributed<ExternBlockMember>
) { ... }
fn exit_attributed_generic_declaration_lifetime(
&mut self,
: &'ast Attributed<GenericDeclarationLifetime>
) { ... }
fn exit_attributed_generic_declaration_type(
&mut self,
: &'ast Attributed<GenericDeclarationType>
) { ... }
fn exit_attributed_impl_member(&mut self, : &'ast Attributed<ImplMember>) { ... }
fn exit_attributed_item(&mut self, : &'ast Attributed<Item>) { ... }
fn exit_attributed_struct_definition_field_named(
&mut self,
: &'ast Attributed<StructDefinitionFieldNamed>
) { ... }
fn exit_attributed_struct_definition_field_unnamed(
&mut self,
: &'ast Attributed<StructDefinitionFieldUnnamed>
) { ... }
fn exit_attributed_trait_member(&mut self, : &'ast Attributed<TraitMember>) { ... }
fn exit_binary(&mut self, : &'ast Binary) { ... }
fn exit_block(&mut self, : &'ast Block) { ... }
fn exit_break(&mut self, : &'ast Break) { ... }
fn exit_byte(&mut self, : &'ast Byte) { ... }
fn exit_byte_string(&mut self, : &'ast ByteString) { ... }
fn exit_call(&mut self, : &'ast Call) { ... }
fn exit_character(&mut self, : &'ast Character) { ... }
fn exit_closure(&mut self, : &'ast Closure) { ... }
fn exit_closure_arg(&mut self, : &'ast ClosureArg) { ... }
fn exit_comment(&mut self, : &'ast Comment) { ... }
fn exit_const(&mut self, : &'ast Const) { ... }
fn exit_continue(&mut self, : &'ast Continue) { ... }
fn exit_crate(&mut self, : &'ast Crate) { ... }
fn exit_dereference(&mut self, : &'ast Dereference) { ... }
fn exit_disambiguation(&mut self, : &'ast Disambiguation) { ... }
fn exit_enum(&mut self, : &'ast Enum) { ... }
fn exit_enum_variant(&mut self, : &'ast EnumVariant) { ... }
fn exit_enum_variant_body(&mut self, : &'ast EnumVariantBody) { ... }
fn exit_expression(&mut self, : &'ast Expression) { ... }
fn exit_expression_box(&mut self, : &'ast ExpressionBox) { ... }
fn exit_extern_block(&mut self, : &'ast ExternBlock) { ... }
fn exit_extern_block_member(&mut self, : &'ast ExternBlockMember) { ... }
fn exit_extern_block_member_function(
&mut self,
: &'ast ExternBlockMemberFunction
) { ... }
fn exit_extern_block_member_function_argument(
&mut self,
: &'ast ExternBlockMemberFunctionArgument
) { ... }
fn exit_extern_block_member_function_argument_named(
&mut self,
: &'ast ExternBlockMemberFunctionArgumentNamed
) { ... }
fn exit_extern_block_member_function_argument_variadic(
&mut self,
: &'ast ExternBlockMemberFunctionArgumentVariadic
) { ... }
fn exit_extern_block_member_static(
&mut self,
: &'ast ExternBlockMemberStatic
) { ... }
fn exit_extern_block_member_type(&mut self, : &'ast ExternBlockMemberType) { ... }
fn exit_field_access(&mut self, : &'ast FieldAccess) { ... }
fn exit_field_name(&mut self, : &'ast FieldName) { ... }
fn exit_file(&mut self, : &'ast File) { ... }
fn exit_for_loop(&mut self, : &'ast ForLoop) { ... }
fn exit_function(&mut self, : &'ast Function) { ... }
fn exit_function_header(&mut self, : &'ast FunctionHeader) { ... }
fn exit_function_qualifiers(&mut self, : &'ast FunctionQualifiers) { ... }
fn exit_generic_declaration_lifetime(
&mut self,
: &'ast GenericDeclarationLifetime
) { ... }
fn exit_generic_declaration_type(&mut self, : &'ast GenericDeclarationType) { ... }
fn exit_generic_declarations(&mut self, : &'ast GenericDeclarations) { ... }
fn exit_ident(&mut self, : &'ast Ident) { ... }
fn exit_if(&mut self, : &'ast If) { ... }
fn exit_if_let(&mut self, : &'ast IfLet) { ... }
fn exit_impl(&mut self, : &'ast Impl) { ... }
fn exit_impl_const(&mut self, : &'ast ImplConst) { ... }
fn exit_impl_function(&mut self, : &'ast ImplFunction) { ... }
fn exit_impl_kind(&mut self, : &'ast ImplKind) { ... }
fn exit_impl_member(&mut self, : &'ast ImplMember) { ... }
fn exit_impl_of_inherent(&mut self, : &'ast ImplOfInherent) { ... }
fn exit_impl_of_trait(&mut self, : &'ast ImplOfTrait) { ... }
fn exit_impl_of_trait_type(&mut self, : &'ast ImplOfTraitType) { ... }
fn exit_impl_type(&mut self, : &'ast ImplType) { ... }
fn exit_item(&mut self, : &'ast Item) { ... }
fn exit_let(&mut self, : &'ast Let) { ... }
fn exit_lifetime(&mut self, : &'ast Lifetime) { ... }
fn exit_loop(&mut self, : &'ast Loop) { ... }
fn exit_macro_call(&mut self, : &'ast MacroCall) { ... }
fn exit_macro_call_args(&mut self, : &'ast MacroCallArgs) { ... }
fn exit_match(&mut self, : &'ast Match) { ... }
fn exit_match_arm(&mut self, : &'ast MatchArm) { ... }
fn exit_match_hand(&mut self, : &'ast MatchHand) { ... }
fn exit_module(&mut self, : &'ast Module) { ... }
fn exit_named_argument(&mut self, : &'ast NamedArgument) { ... }
fn exit_number(&mut self, : &'ast Number) { ... }
fn exit_number_value(&mut self, : &'ast NumberValue) { ... }
fn exit_number_binary(&mut self, : &'ast NumberBinary) { ... }
fn exit_number_decimal(&mut self, : &'ast NumberDecimal) { ... }
fn exit_number_hexadecimal(&mut self, : &'ast NumberHexadecimal) { ... }
fn exit_number_octal(&mut self, : &'ast NumberOctal) { ... }
fn exit_parenthetical(&mut self, : &'ast Parenthetical) { ... }
fn exit_path(&mut self, : &'ast Path) { ... }
fn exit_path_component(&mut self, : &'ast PathComponent) { ... }
fn exit_pathed_ident(&mut self, : &'ast PathedIdent) { ... }
fn exit_pattern(&mut self, : &'ast Pattern) { ... }
fn exit_pattern_box(&mut self, : &'ast PatternBox) { ... }
fn exit_pattern_byte(&mut self, : &'ast PatternByte) { ... }
fn exit_pattern_byte_string(&mut self, : &'ast PatternByteString) { ... }
fn exit_pattern_character(&mut self, : &'ast PatternCharacter) { ... }
fn exit_pattern_ident(&mut self, : &'ast PatternIdent) { ... }
fn exit_pattern_kind(&mut self, : &'ast PatternKind) { ... }
fn exit_pattern_macro_call(&mut self, : &'ast PatternMacroCall) { ... }
fn exit_pattern_name(&mut self, : &'ast PatternName) { ... }
fn exit_pattern_number(&mut self, : &'ast PatternNumber) { ... }
fn exit_pattern_range_component(&mut self, : &'ast PatternRangeComponent) { ... }
fn exit_pattern_range_exclusive(&mut self, : &'ast PatternRangeExclusive) { ... }
fn exit_pattern_range_inclusive(&mut self, : &'ast PatternRangeInclusive) { ... }
fn exit_pattern_reference(&mut self, : &'ast PatternReference) { ... }
fn exit_pattern_slice(&mut self, : &'ast PatternSlice) { ... }
fn exit_pattern_slice_member(&mut self, : &'ast PatternSliceMember) { ... }
fn exit_pattern_slice_subslice(&mut self, : &'ast PatternSliceSubslice) { ... }
fn exit_pattern_string(&mut self, : &'ast PatternString) { ... }
fn exit_pattern_struct(&mut self, : &'ast PatternStruct) { ... }
fn exit_pattern_struct_field(&mut self, : &'ast PatternStructField) { ... }
fn exit_pattern_struct_field_long(&mut self, : &'ast PatternStructFieldLong) { ... }
fn exit_pattern_struct_field_short(
&mut self,
: &'ast PatternStructFieldShort
) { ... }
fn exit_pattern_tuple(&mut self, : &'ast PatternTuple) { ... }
fn exit_pattern_tuple_member(&mut self, : &'ast PatternTupleMember) { ... }
fn exit_range(&mut self, : &'ast Range) { ... }
fn exit_range_inclusive(&mut self, : &'ast RangeInclusive) { ... }
fn exit_reference(&mut self, : &'ast Reference) { ... }
fn exit_return(&mut self, : &'ast Return) { ... }
fn exit_self_argument(&mut self, : &'ast SelfArgument) { ... }
fn exit_self_argument_longhand(&mut self, : &'ast SelfArgumentLonghand) { ... }
fn exit_self_argument_shorthand(&mut self, : &'ast SelfArgumentShorthand) { ... }
fn exit_self_argument_shorthand_qualifier(
&mut self,
: &'ast SelfArgumentShorthandQualifier
) { ... }
fn exit_slice(&mut self, : &'ast Slice) { ... }
fn exit_statement(&mut self, : &'ast Statement) { ... }
fn exit_static(&mut self, : &'ast Static) { ... }
fn exit_string(&mut self, : &'ast String) { ... }
fn exit_struct(&mut self, : &'ast Struct) { ... }
fn exit_struct_definition_body(&mut self, : &'ast StructDefinitionBody) { ... }
fn exit_struct_definition_body_brace(
&mut self,
: &'ast StructDefinitionBodyBrace
) { ... }
fn exit_struct_definition_body_tuple(
&mut self,
: &'ast StructDefinitionBodyTuple
) { ... }
fn exit_struct_definition_field_named(
&mut self,
: &'ast StructDefinitionFieldNamed
) { ... }
fn exit_struct_definition_field_unnamed(
&mut self,
: &'ast StructDefinitionFieldUnnamed
) { ... }
fn exit_struct_literal(&mut self, : &'ast StructLiteral) { ... }
fn exit_struct_literal_field(&mut self, : &'ast StructLiteralField) { ... }
fn exit_trait(&mut self, : &'ast Trait) { ... }
fn exit_trait_bound(&mut self, : &'ast TraitBound) { ... }
fn exit_trait_bound_lifetime(&mut self, : &'ast TraitBoundLifetime) { ... }
fn exit_trait_bound_normal(&mut self, : &'ast TraitBoundNormal) { ... }
fn exit_trait_bound_relaxed(&mut self, : &'ast TraitBoundRelaxed) { ... }
fn exit_trait_bound_type(&mut self, : &'ast TraitBoundType) { ... }
fn exit_trait_bounds(&mut self, : &'ast TraitBounds) { ... }
fn exit_trait_impl_argument(&mut self, : &'ast TraitImplArgument) { ... }
fn exit_trait_impl_argument_named(&mut self, : &'ast TraitImplArgumentNamed) { ... }
fn exit_trait_impl_function_header(
&mut self,
: &'ast TraitImplFunctionHeader
) { ... }
fn exit_trait_member(&mut self, : &'ast TraitMember) { ... }
fn exit_trait_member_const(&mut self, : &'ast TraitMemberConst) { ... }
fn exit_trait_member_function(&mut self, : &'ast TraitMemberFunction) { ... }
fn exit_trait_member_type(&mut self, : &'ast TraitMemberType) { ... }
fn exit_try_operator(&mut self, : &'ast TryOperator) { ... }
fn exit_tuple(&mut self, : &'ast Tuple) { ... }
fn exit_turbofish(&mut self, : &'ast Turbofish) { ... }
fn exit_type(&mut self, : &'ast Type) { ... }
fn exit_type_additional(&mut self, : &'ast TypeAdditional) { ... }
fn exit_type_alias(&mut self, : &'ast TypeAlias) { ... }
fn exit_type_array(&mut self, : &'ast TypeArray) { ... }
fn exit_type_disambiguation(&mut self, : &'ast TypeDisambiguation) { ... }
fn exit_type_function(&mut self, : &'ast TypeFunction) { ... }
fn exit_type_function_argument(&mut self, : &'ast TypeFunctionArgument) { ... }
fn exit_type_function_argument_named(
&mut self,
: &'ast TypeFunctionArgumentNamed
) { ... }
fn exit_type_generics(&mut self, : &'ast TypeGenerics) { ... }
fn exit_type_generics_angle(&mut self, : &'ast TypeGenericsAngle) { ... }
fn exit_type_generics_angle_member(
&mut self,
: &'ast TypeGenericsAngleMember
) { ... }
fn exit_type_generics_function(&mut self, : &'ast TypeGenericsFunction) { ... }
fn exit_type_higher_ranked_trait_bounds(
&mut self,
: &'ast TypeHigherRankedTraitBounds
) { ... }
fn exit_type_higher_ranked_trait_bounds_child(
&mut self,
: &'ast TypeHigherRankedTraitBoundsChild
) { ... }
fn exit_type_impl_trait(&mut self, : &'ast TypeImplTrait) { ... }
fn exit_type_kind(&mut self, : &'ast TypeKind) { ... }
fn exit_type_named(&mut self, : &'ast TypeNamed) { ... }
fn exit_type_named_component(&mut self, : &'ast TypeNamedComponent) { ... }
fn exit_type_pointer(&mut self, : &'ast TypePointer) { ... }
fn exit_type_reference(&mut self, : &'ast TypeReference) { ... }
fn exit_type_reference_kind(&mut self, : &'ast TypeReferenceKind) { ... }
fn exit_type_slice(&mut self, : &'ast TypeSlice) { ... }
fn exit_type_tuple(&mut self, : &'ast TypeTuple) { ... }
fn exit_unary(&mut self, : &'ast Unary) { ... }
fn exit_union(&mut self, : &'ast Union) { ... }
fn exit_unsafe_block(&mut self, : &'ast UnsafeBlock) { ... }
fn exit_use(&mut self, : &'ast Use) { ... }
fn exit_use_path(&mut self, : &'ast UsePath) { ... }
fn exit_use_tail(&mut self, : &'ast UseTail) { ... }
fn exit_use_tail_glob(&mut self, : &'ast UseTailGlob) { ... }
fn exit_use_tail_ident(&mut self, : &'ast UseTailIdent) { ... }
fn exit_use_tail_multi(&mut self, : &'ast UseTailMulti) { ... }
fn exit_value(&mut self, : &'ast Value) { ... }
fn exit_visibility(&mut self, : &'ast Visibility) { ... }
fn exit_where(&mut self, : &'ast Where) { ... }
fn exit_where_kind(&mut self, : &'ast WhereKind) { ... }
fn exit_where_lifetime(&mut self, : &'ast WhereLifetime) { ... }
fn exit_where_type(&mut self, : &'ast WhereType) { ... }
fn exit_while(&mut self, : &'ast While) { ... }
fn exit_while_let(&mut self, : &'ast WhileLet) { ... }
fn exit_whitespace(&mut self, : &'ast Whitespace) { ... }
}
Expand description
A visitor of AST nodes
On entry of a node, the corresponding visit_*
method will be
called. This method may return a Control
to avoid descending
into child nodes.
After visiting all the children of a node, the corresponding
exit_*
method will be called.
For ease-of-use, all methods in this trait have a default
implementation. Consumers of the trait only need to implement
methods for the nodes they are interested in. The default
implementations for the visit_*
methods continues processing on
every node.