Skip to content

Commit 1542f08

Browse files
committed
Unify {visit,walk}_foreign_mod
1 parent ad74189 commit 1542f08

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,6 @@ macro_rules! make_ast_visitor {
208208

209209
make_visit!{CoroutineKind; visit_coroutine_kind, walk_coroutine_kind}
210210
make_visit!{FnHeader; visit_fn_header, walk_fn_header}
211-
make_visit!{ForeignMod; visit_foreign_mod, walk_foreign_mod}
212211
make_visit!{MacroDef; visit_macro_def, walk_macro_def}
213212
make_visit!{MetaItem; visit_meta_item, walk_meta_item}
214213
make_visit!{MetaItemInner; visit_meta_list_item, walk_meta_list_item}
@@ -327,6 +326,7 @@ macro_rules! make_ast_visitor {
327326
make_visit!{FieldDef; visit_field_def, walk_field_def}
328327
make_visit!{FnDecl; visit_fn_decl, walk_fn_decl}
329328
make_visit!{FnRetTy; visit_fn_ret_ty, walk_fn_ret_ty}
329+
make_visit!{ForeignMod; visit_foreign_mod, walk_foreign_mod}
330330
make_visit!{FormatArgs; visit_format_args, walk_format_args}
331331
make_visit!{GenericArg; visit_generic_arg, walk_generic_arg}
332332
make_visit!{GenericArgs; visit_generic_args, walk_generic_args}
@@ -586,6 +586,16 @@ macro_rules! make_ast_visitor {
586586
return_result!(V)
587587
}
588588

589+
pub fn walk_foreign_mod<$($lt,)? V: $trait$(<$lt>)?>(
590+
vis: &mut V,
591+
foreign_mod: ref_t!(ForeignMod)
592+
) -> result!(V) {
593+
let ForeignMod { safety, abi: _, items } = foreign_mod;
594+
try_v!(vis.visit_safety(safety));
595+
visit_list!(vis, visit_foreign_item, flat_map_foreign_item, items);
596+
return_result!(V)
597+
}
598+
589599
pub fn walk_format_args<$($lt,)? V: $trait$(<$lt>)?>(
590600
vis: &mut V,
591601
fmt: ref_t!(FormatArgs)
@@ -1333,9 +1343,8 @@ pub mod visit {
13331343
ModKind::Unloaded => {}
13341344
}
13351345
}
1336-
ItemKind::ForeignMod(ForeignMod { safety, abi: _, items }) => {
1337-
try_visit!(visitor.visit_safety(safety));
1338-
walk_list!(visitor, visit_foreign_item, items);
1346+
ItemKind::ForeignMod(foreign_mod) => {
1347+
try_visit!(visitor.visit_foreign_mod(foreign_mod));
13391348
}
13401349
ItemKind::GlobalAsm(asm) => try_visit!(visitor.visit_inline_asm(asm)),
13411350
ItemKind::TyAlias(box TyAlias {
@@ -1861,12 +1870,6 @@ pub mod mut_visit {
18611870
smallvec![arm]
18621871
}
18631872

1864-
fn walk_foreign_mod<T: MutVisitor>(vis: &mut T, foreign_mod: &mut ForeignMod) {
1865-
let ForeignMod { safety, abi: _, items } = foreign_mod;
1866-
vis.visit_safety(safety);
1867-
items.flat_map_in_place(|item| vis.flat_map_foreign_item(item));
1868-
}
1869-
18701873
pub fn walk_flat_map_variant<T: MutVisitor>(
18711874
visitor: &mut T,
18721875
mut variant: Variant,

0 commit comments

Comments
 (0)