Skip to content

Commit 2d9bbfe

Browse files
committed
Unify {visit,walk}_enum_def
1 parent e49f850 commit 2d9bbfe

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,6 @@ macro_rules! make_ast_visitor {
271271

272272
make_visit!{Arm; visit_arm, walk_arm}
273273
make_visit!{AssocItem, ctxt: AssocCtxt; visit_assoc_item, walk_assoc_item}
274-
make_visit!{EnumDef; visit_enum_def, walk_enum_def}
275274
make_visit!{ExprField; visit_expr_field, walk_expr_field}
276275
make_visit!{FieldDef; visit_field_def, walk_field_def}
277276
make_visit!{ForeignItem; visit_foreign_item, walk_item}
@@ -317,6 +316,7 @@ macro_rules! make_ast_visitor {
317316
make_visit!{CaptureBy; visit_capture_by, walk_capture_by}
318317
make_visit!{ClosureBinder; visit_closure_binder, walk_closure_binder}
319318
make_visit!{Crate; visit_crate, walk_crate}
319+
make_visit!{EnumDef; visit_enum_def, walk_enum_def}
320320
make_visit!{FnDecl; visit_fn_decl, walk_fn_decl}
321321
make_visit!{FnRetTy; visit_fn_ret_ty, walk_fn_ret_ty}
322322
make_visit!{FormatArgs; visit_format_args, walk_format_args}
@@ -399,6 +399,15 @@ macro_rules! make_ast_visitor {
399399
return_result!(V)
400400
}
401401

402+
pub fn walk_enum_def<$($lt,)? V: $trait$(<$lt>)?>(
403+
vis: &mut V,
404+
enum_def: ref_t!(EnumDef)
405+
) -> result!(V) {
406+
let EnumDef { variants } = enum_def;
407+
visit_list!(vis, visit_variant, flat_map_variant, variants);
408+
return_result!(V)
409+
}
410+
402411
pub fn walk_fn_decl<$($lt,)? V: $trait$(<$lt>)?>(
403412
vis: &mut V,
404413
decl: ref_t!(FnDecl)
@@ -813,14 +822,6 @@ pub mod visit {
813822
walk_assoc_item(visitor, item, AssocCtxt::Trait /*ignored*/)
814823
}
815824

816-
pub fn walk_enum_def<'a, V: Visitor<'a>>(
817-
visitor: &mut V,
818-
EnumDef { variants }: &'a EnumDef,
819-
) -> V::Result {
820-
walk_list!(visitor, visit_variant, variants);
821-
V::Result::output()
822-
}
823-
824825
pub fn walk_variant<'a, V: Visitor<'a>>(visitor: &mut V, variant: &'a Variant) -> V::Result
825826
where
826827
V: Visitor<'a>,
@@ -2302,9 +2303,9 @@ pub mod mut_visit {
23022303
visit_opt(ty, |ty| vis.visit_ty(ty));
23032304
walk_ty_alias_where_clauses(vis, where_clauses);
23042305
}
2305-
ItemKind::Enum(EnumDef { variants }, generics) => {
2306+
ItemKind::Enum(enum_def, generics) => {
23062307
vis.visit_generics(generics);
2307-
variants.flat_map_in_place(|variant| vis.flat_map_variant(variant));
2308+
vis.visit_enum_def(enum_def);
23082309
}
23092310
ItemKind::Struct(variant_data, generics)
23102311
| ItemKind::Union(variant_data, generics) => {

0 commit comments

Comments
 (0)