Skip to content

Commit 2d751e6

Browse files
committed
Unify walk_item
1 parent 98decab commit 2d751e6

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

compiler/rustc_ast/src/visitors.rs

+16-12
Original file line numberDiff line numberDiff line change
@@ -1316,6 +1316,22 @@ macro_rules! make_ast_visitor {
13161316
return_result!(V)
13171317
}
13181318

1319+
pub fn walk_item<$($lt,)? V: $trait$(<$lt>)?>(
1320+
visitor: &mut V,
1321+
item: ref_t!(Item<impl WalkItemKind>),
1322+
) -> result!(V) {
1323+
let Item { id, span, ident, vis, attrs, kind, tokens } = item;
1324+
try_v!(visit_id!(visitor, id));
1325+
visit_list!(visitor, visit_attribute, flat_map_attribute, attrs);
1326+
try_v!(visitor.visit_vis(vis));
1327+
try_v!(visit_ident!(visitor, ident));
1328+
try_v!(kind.walk(*id, *span, vis, ident, visitor));
1329+
visit_lazy_tts!(visitor, tokens);
1330+
try_v!(visit_span!(visitor, span));
1331+
return_result!(V)
1332+
}
1333+
1334+
13191335
pub fn walk_assoc_item<$($lt,)? V: $trait$(<$lt>)?>(
13201336
visitor: &mut V,
13211337
item: ref_t!(Item<AssocItemKind>),
@@ -1714,18 +1730,6 @@ pub mod visit {
17141730

17151731
make_ast_visitor!(Visitor<'ast>);
17161732

1717-
pub fn walk_item<'a, V: Visitor<'a>>(
1718-
visitor: &mut V,
1719-
item: &'a Item<impl WalkItemKind>,
1720-
) -> V::Result {
1721-
let Item { id, span, ident, vis, attrs, kind, tokens: _ } = item;
1722-
walk_list!(visitor, visit_attribute, attrs);
1723-
try_visit!(visitor.visit_vis(vis));
1724-
try_visit!(visitor.visit_ident(*ident));
1725-
try_visit!(kind.walk(*id, *span, vis, ident, visitor));
1726-
V::Result::output()
1727-
}
1728-
17291733
pub fn walk_stmt<'a, V: Visitor<'a>>(visitor: &mut V, statement: &'a Stmt) -> V::Result {
17301734
let Stmt { id: _, kind, span: _ } = statement;
17311735
match kind {

0 commit comments

Comments
 (0)