Skip to content

Commit 78ffa6c

Browse files
committed
Unify walk_field_def
1 parent e034d75 commit 78ffa6c

File tree

1 file changed

+14
-19
lines changed

1 file changed

+14
-19
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -752,6 +752,20 @@ macro_rules! make_ast_visitor {
752752
return_result!(V)
753753
}
754754

755+
pub fn walk_field_def<$($lt,)? V: $trait$(<$lt>)?>(
756+
visitor: &mut V,
757+
fd: ref_t!(FieldDef)
758+
) -> result!(V) {
759+
let FieldDef { span, ident, vis, id, ty, attrs, is_placeholder: _ } = fd;
760+
try_v!(visit_id!(visitor, id));
761+
visit_list!(visitor, visit_attribute, flat_map_attribute, attrs);
762+
try_v!(visitor.visit_vis(vis));
763+
visit_o!(ident, |ident: &$($mut)? Ident| visit_ident!(visitor, ident));
764+
try_v!(visitor.visit_ty(ty));
765+
try_v!(visit_span!(visitor, span));
766+
return_result!(V)
767+
}
768+
755769
make_walk_flat_map!{Arm, walk_flat_map_arm, visit_arm}
756770
make_walk_flat_map!{Attribute, walk_flat_map_attribute, visit_attribute}
757771
make_walk_flat_map!{ExprField, walk_flat_map_expr_field, visit_expr_field}
@@ -1400,15 +1414,6 @@ pub mod visit {
14001414
walk_variant_data(visitor, struct_definition)
14011415
}
14021416

1403-
pub fn walk_field_def<'a, V: Visitor<'a>>(visitor: &mut V, field: &'a FieldDef) -> V::Result {
1404-
let FieldDef { attrs, id: _, span: _, vis, ident, ty, is_placeholder: _ } = field;
1405-
walk_list!(visitor, visit_attribute, attrs);
1406-
try_visit!(visitor.visit_vis(vis));
1407-
visit_opt!(visitor, visit_ident, *ident);
1408-
try_visit!(visitor.visit_ty(ty));
1409-
V::Result::output()
1410-
}
1411-
14121417
pub fn walk_block<'a, V: Visitor<'a>>(visitor: &mut V, block: &'a Block) -> V::Result {
14131418
let Block { stmts, id: _, rules: _, span: _, tokens: _, could_be_bare_literal: _ } = block;
14141419
walk_list!(visitor, visit_stmt, stmts);
@@ -2291,16 +2296,6 @@ pub mod mut_visit {
22912296
vis.visit_path(path);
22922297
}
22932298

2294-
pub fn walk_field_def<T: MutVisitor>(visitor: &mut T, fd: &mut FieldDef) {
2295-
let FieldDef { span, ident, vis, id, ty, attrs, is_placeholder: _ } = fd;
2296-
visitor.visit_id(id);
2297-
visit_attrs(visitor, attrs);
2298-
visitor.visit_vis(vis);
2299-
visit_opt(ident, |ident| visitor.visit_ident(ident));
2300-
visitor.visit_ty(ty);
2301-
visitor.visit_span(span);
2302-
}
2303-
23042299
pub fn walk_block<T: MutVisitor>(vis: &mut T, block: &mut P<Block>) {
23052300
let Block { id, stmts, rules: _, span, tokens, could_be_bare_literal: _ } =
23062301
block.deref_mut();

0 commit comments

Comments
 (0)