Skip to content

Commit 7a86368

Browse files
committed
Unify walk_crate
1 parent 56fbc59 commit 7a86368

File tree

1 file changed

+14
-17
lines changed

1 file changed

+14
-17
lines changed

Diff for: compiler/rustc_ast/src/visitors.rs

+14-17
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,20 @@ macro_rules! make_ast_visitor {
404404
return_result!(V)
405405
}
406406

407+
pub fn walk_crate<$($lt,)? V: $trait$(<$lt>)?>(
408+
vis: &mut V,
409+
krate: ref_t!(Crate)
410+
) -> result!(V) {
411+
let Crate { attrs, items, spans, id, is_placeholder: _ } = krate;
412+
try_v!(visit_id!(vis, id));
413+
visit_list!(vis, visit_attribute, attrs);
414+
visit_list!(vis, visit_item, flat_map_item, items);
415+
let ModSpans { inner_span, inject_use_span } = spans;
416+
try_v!(visit_span!(vis, inner_span));
417+
try_v!(visit_span!(vis, inject_use_span));
418+
return_result!(V)
419+
}
420+
407421
pub fn walk_enum_def<$($lt,)? V: $trait$(<$lt>)?>(
408422
vis: &mut V,
409423
enum_def: ref_t!(EnumDef)
@@ -682,13 +696,6 @@ pub mod visit {
682696

683697
make_ast_visitor!(Visitor<'ast>);
684698

685-
pub fn walk_crate<'a, V: Visitor<'a>>(visitor: &mut V, krate: &'a Crate) -> V::Result {
686-
let Crate { attrs, items, spans: _, id: _, is_placeholder: _ } = krate;
687-
walk_list!(visitor, visit_attribute, attrs);
688-
walk_list!(visitor, visit_item, items);
689-
V::Result::output()
690-
}
691-
692699
pub fn walk_local<'a, V: Visitor<'a>>(visitor: &mut V, local: &'a Local) -> V::Result {
693700
let Local { id: _, pat, ty, kind, span: _, colon_sp: _, attrs, tokens: _ } = local;
694701
walk_list!(visitor, visit_attribute, attrs);
@@ -2468,16 +2475,6 @@ pub mod mut_visit {
24682475
visit_safety(vis, safety);
24692476
}
24702477

2471-
pub fn walk_crate<T: MutVisitor>(vis: &mut T, krate: &mut Crate) {
2472-
let Crate { attrs, items, spans, id, is_placeholder: _ } = krate;
2473-
vis.visit_id(id);
2474-
visit_attrs(vis, attrs);
2475-
items.flat_map_in_place(|item| vis.flat_map_item(item));
2476-
let ModSpans { inner_span, inject_use_span } = spans;
2477-
vis.visit_span(inner_span);
2478-
vis.visit_span(inject_use_span);
2479-
}
2480-
24812478
/// Mutates one item, returning the item again.
24822479
pub fn walk_flat_map_item<K: WalkItemKind>(
24832480
visitor: &mut impl MutVisitor,

0 commit comments

Comments
 (0)