Skip to content

Commit de7cf83

Browse files
committed
Unify {visit,walk}_foreign_mod
1 parent d70fb48 commit de7cf83

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

compiler/rustc_ast/src/visitors.rs

+13-10
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,6 @@ macro_rules! make_ast_visitor {
202202

203203
make_visit!{CoroutineKind; visit_coroutine_kind, walk_coroutine_kind}
204204
make_visit!{FnHeader; visit_fn_header, walk_fn_header}
205-
make_visit!{ForeignMod; visit_foreign_mod, walk_foreign_mod}
206205
make_visit!{MacroDef; visit_macro_def, walk_macro_def}
207206
make_visit!{MetaItem; visit_meta_item, walk_meta_item}
208207
make_visit!{MetaItemInner; visit_meta_list_item, walk_meta_list_item}
@@ -321,6 +320,7 @@ macro_rules! make_ast_visitor {
321320
make_visit!{FieldDef; visit_field_def, walk_field_def}
322321
make_visit!{FnDecl; visit_fn_decl, walk_fn_decl}
323322
make_visit!{FnRetTy; visit_fn_ret_ty, walk_fn_ret_ty}
323+
make_visit!{ForeignMod; visit_foreign_mod, walk_foreign_mod}
324324
make_visit!{FormatArgs; visit_format_args, walk_format_args}
325325
make_visit!{GenericArg; visit_generic_arg, walk_generic_arg}
326326
make_visit!{GenericArgs; visit_generic_args, walk_generic_args}
@@ -580,6 +580,16 @@ macro_rules! make_ast_visitor {
580580
return_result!(V)
581581
}
582582

583+
pub fn walk_foreign_mod<$($lt,)? V: $trait$(<$lt>)?>(
584+
vis: &mut V,
585+
foreign_mod: ref_t!(ForeignMod)
586+
) -> result!(V) {
587+
let ForeignMod { safety, abi: _, items } = foreign_mod;
588+
try_v!(vis.visit_safety(safety));
589+
visit_list!(vis, visit_foreign_item, flat_map_foreign_item, items);
590+
return_result!(V)
591+
}
592+
583593
pub fn walk_format_args<$($lt,)? V: $trait$(<$lt>)?>(
584594
vis: &mut V,
585595
fmt: ref_t!(FormatArgs)
@@ -1327,9 +1337,8 @@ pub mod visit {
13271337
ModKind::Unloaded => {}
13281338
}
13291339
}
1330-
ItemKind::ForeignMod(ForeignMod { safety, abi: _, items }) => {
1331-
try_visit!(visitor.visit_safety(safety));
1332-
walk_list!(visitor, visit_foreign_item, items);
1340+
ItemKind::ForeignMod(foreign_mod) => {
1341+
try_visit!(visitor.visit_foreign_mod(foreign_mod));
13331342
}
13341343
ItemKind::GlobalAsm(asm) => try_visit!(visitor.visit_inline_asm(asm)),
13351344
ItemKind::TyAlias(box TyAlias {
@@ -1855,12 +1864,6 @@ pub mod mut_visit {
18551864
smallvec![arm]
18561865
}
18571866

1858-
fn walk_foreign_mod<T: MutVisitor>(vis: &mut T, foreign_mod: &mut ForeignMod) {
1859-
let ForeignMod { safety, abi: _, items } = foreign_mod;
1860-
vis.visit_safety(safety);
1861-
items.flat_map_in_place(|item| vis.flat_map_foreign_item(item));
1862-
}
1863-
18641867
pub fn walk_flat_map_variant<T: MutVisitor>(
18651868
visitor: &mut T,
18661869
mut variant: Variant,

0 commit comments

Comments
 (0)