Skip to content

Commit

Permalink
Unify {visit,walk}_enum_def
Browse files Browse the repository at this point in the history
  • Loading branch information
maxcabrajac committed Oct 13, 2024
1 parent f6751be commit 660e9e6
Showing 1 changed file with 12 additions and 11 deletions.
23 changes: 12 additions & 11 deletions compiler/rustc_ast/src/visitors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,6 @@ macro_rules! make_ast_visitor {

make_visit!{Arm; visit_arm, walk_arm}
make_visit!{AssocItem, ctxt: AssocCtxt; visit_assoc_item, walk_assoc_item}
make_visit!{EnumDef; visit_enum_def, walk_enum_def}
make_visit!{ExprField; visit_expr_field, walk_expr_field}
make_visit!{FieldDef; visit_field_def, walk_field_def}
make_visit!{ForeignItem; visit_foreign_item, walk_item}
Expand Down Expand Up @@ -322,6 +321,7 @@ macro_rules! make_ast_visitor {
make_visit!{CaptureBy; visit_capture_by, walk_capture_by}
make_visit!{ClosureBinder; visit_closure_binder, walk_closure_binder}
make_visit!{Crate; visit_crate, walk_crate}
make_visit!{EnumDef; visit_enum_def, walk_enum_def}
make_visit!{FnDecl; visit_fn_decl, walk_fn_decl}
make_visit!{FnRetTy; visit_fn_ret_ty, walk_fn_ret_ty}
make_visit!{FormatArgs; visit_format_args, walk_format_args}
Expand Down Expand Up @@ -404,6 +404,15 @@ macro_rules! make_ast_visitor {
return_result!(V)
}

pub fn walk_enum_def<$($lt,)? V: $trait$(<$lt>)?>(
vis: &mut V,
enum_def: ref_t!(EnumDef)
) -> result!(V) {
let EnumDef { variants } = enum_def;
visit_list!(vis, visit_variant, flat_map_variant, variants);
return_result!(V)
}

pub fn walk_fn_decl<$($lt,)? V: $trait$(<$lt>)?>(
vis: &mut V,
decl: ref_t!(FnDecl)
Expand Down Expand Up @@ -818,14 +827,6 @@ pub mod visit {
walk_assoc_item(visitor, item, AssocCtxt::Trait /*ignored*/)
}

pub fn walk_enum_def<'a, V: Visitor<'a>>(
visitor: &mut V,
EnumDef { variants }: &'a EnumDef,
) -> V::Result {
walk_list!(visitor, visit_variant, variants);
V::Result::output()
}

pub fn walk_variant<'a, V: Visitor<'a>>(visitor: &mut V, variant: &'a Variant) -> V::Result
where
V: Visitor<'a>,
Expand Down Expand Up @@ -2307,9 +2308,9 @@ pub mod mut_visit {
visit_opt(ty, |ty| vis.visit_ty(ty));
walk_ty_alias_where_clauses(vis, where_clauses);
}
ItemKind::Enum(EnumDef { variants }, generics) => {
ItemKind::Enum(enum_def, generics) => {
vis.visit_generics(generics);
variants.flat_map_in_place(|variant| vis.flat_map_variant(variant));
vis.visit_enum_def(enum_def);
}
ItemKind::Struct(variant_data, generics)
| ItemKind::Union(variant_data, generics) => {
Expand Down

0 comments on commit 660e9e6

Please sign in to comment.