Skip to content

Commit 660e9e6

Browse files
committed
Unify {visit,walk}_enum_def
1 parent f6751be commit 660e9e6

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

compiler/rustc_ast/src/visitors.rs

+12-11
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,6 @@ macro_rules! make_ast_visitor {
276276

277277
make_visit!{Arm; visit_arm, walk_arm}
278278
make_visit!{AssocItem, ctxt: AssocCtxt; visit_assoc_item, walk_assoc_item}
279-
make_visit!{EnumDef; visit_enum_def, walk_enum_def}
280279
make_visit!{ExprField; visit_expr_field, walk_expr_field}
281280
make_visit!{FieldDef; visit_field_def, walk_field_def}
282281
make_visit!{ForeignItem; visit_foreign_item, walk_item}
@@ -322,6 +321,7 @@ macro_rules! make_ast_visitor {
322321
make_visit!{CaptureBy; visit_capture_by, walk_capture_by}
323322
make_visit!{ClosureBinder; visit_closure_binder, walk_closure_binder}
324323
make_visit!{Crate; visit_crate, walk_crate}
324+
make_visit!{EnumDef; visit_enum_def, walk_enum_def}
325325
make_visit!{FnDecl; visit_fn_decl, walk_fn_decl}
326326
make_visit!{FnRetTy; visit_fn_ret_ty, walk_fn_ret_ty}
327327
make_visit!{FormatArgs; visit_format_args, walk_format_args}
@@ -404,6 +404,15 @@ macro_rules! make_ast_visitor {
404404
return_result!(V)
405405
}
406406

407+
pub fn walk_enum_def<$($lt,)? V: $trait$(<$lt>)?>(
408+
vis: &mut V,
409+
enum_def: ref_t!(EnumDef)
410+
) -> result!(V) {
411+
let EnumDef { variants } = enum_def;
412+
visit_list!(vis, visit_variant, flat_map_variant, variants);
413+
return_result!(V)
414+
}
415+
407416
pub fn walk_fn_decl<$($lt,)? V: $trait$(<$lt>)?>(
408417
vis: &mut V,
409418
decl: ref_t!(FnDecl)
@@ -818,14 +827,6 @@ pub mod visit {
818827
walk_assoc_item(visitor, item, AssocCtxt::Trait /*ignored*/)
819828
}
820829

821-
pub fn walk_enum_def<'a, V: Visitor<'a>>(
822-
visitor: &mut V,
823-
EnumDef { variants }: &'a EnumDef,
824-
) -> V::Result {
825-
walk_list!(visitor, visit_variant, variants);
826-
V::Result::output()
827-
}
828-
829830
pub fn walk_variant<'a, V: Visitor<'a>>(visitor: &mut V, variant: &'a Variant) -> V::Result
830831
where
831832
V: Visitor<'a>,
@@ -2307,9 +2308,9 @@ pub mod mut_visit {
23072308
visit_opt(ty, |ty| vis.visit_ty(ty));
23082309
walk_ty_alias_where_clauses(vis, where_clauses);
23092310
}
2310-
ItemKind::Enum(EnumDef { variants }, generics) => {
2311+
ItemKind::Enum(enum_def, generics) => {
23112312
vis.visit_generics(generics);
2312-
variants.flat_map_in_place(|variant| vis.flat_map_variant(variant));
2313+
vis.visit_enum_def(enum_def);
23132314
}
23142315
ItemKind::Struct(variant_data, generics)
23152316
| ItemKind::Union(variant_data, generics) => {

0 commit comments

Comments
 (0)