Skip to content

Commit 7cccfb5

Browse files
committed
Unify walk_crate
1 parent b5f5634 commit 7cccfb5

File tree

1 file changed

+14
-17
lines changed

1 file changed

+14
-17
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -437,6 +437,20 @@ macro_rules! make_ast_visitor {
437437
return_result!(V)
438438
}
439439

440+
pub fn walk_crate<$($lt,)? V: $trait$(<$lt>)?>(
441+
vis: &mut V,
442+
krate: ref_t!(Crate)
443+
) -> result!(V) {
444+
let Crate { attrs, items, spans, id, is_placeholder: _ } = krate;
445+
try_v!(visit_id!(vis, id));
446+
visit_list!(vis, visit_attribute, attrs);
447+
visit_list!(vis, visit_item, flat_map_item, items);
448+
let ModSpans { inner_span, inject_use_span } = spans;
449+
try_v!(visit_span!(vis, inner_span));
450+
try_v!(visit_span!(vis, inject_use_span));
451+
return_result!(V)
452+
}
453+
440454
pub fn walk_enum_def<$($lt,)? V: $trait$(<$lt>)?>(
441455
vis: &mut V,
442456
enum_def: ref_t!(EnumDef)
@@ -1117,13 +1131,6 @@ pub mod visit {
11171131

11181132
make_ast_visitor!(Visitor<'ast>);
11191133

1120-
pub fn walk_crate<'a, V: Visitor<'a>>(visitor: &mut V, krate: &'a Crate) -> V::Result {
1121-
let Crate { attrs, items, spans: _, id: _, is_placeholder: _ } = krate;
1122-
walk_list!(visitor, visit_attribute, attrs);
1123-
walk_list!(visitor, visit_item, items);
1124-
V::Result::output()
1125-
}
1126-
11271134
impl WalkItemKind for ItemKind {
11281135
fn walk<'a, V: Visitor<'a>>(
11291136
&'a self,
@@ -2387,16 +2394,6 @@ pub mod mut_visit {
23872394
visit_safety(vis, safety);
23882395
}
23892396

2390-
pub fn walk_crate<T: MutVisitor>(vis: &mut T, krate: &mut Crate) {
2391-
let Crate { attrs, items, spans, id, is_placeholder: _ } = krate;
2392-
vis.visit_id(id);
2393-
visit_attrs(vis, attrs);
2394-
items.flat_map_in_place(|item| vis.flat_map_item(item));
2395-
let ModSpans { inner_span, inject_use_span } = spans;
2396-
vis.visit_span(inner_span);
2397-
vis.visit_span(inject_use_span);
2398-
}
2399-
24002397
/// Mutates one item, returning the item again.
24012398
pub fn walk_flat_map_item<K: WalkItemKind>(
24022399
visitor: &mut impl MutVisitor,

0 commit comments

Comments
 (0)