Skip to content

Commit 1011fcc

Browse files
committed
Unify {visit,walk}_field_def
1 parent 7c50026 commit 1011fcc

File tree

1 file changed

+16
-17
lines changed

1 file changed

+16
-17
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,6 @@ macro_rules! make_ast_visitor {
274274
type Result: VisitorResult = ();
275275

276276
make_visit!{AssocItem, ctxt: AssocCtxt; visit_assoc_item, walk_assoc_item}
277-
make_visit!{FieldDef; visit_field_def, walk_field_def}
278277
make_visit!{ForeignItem; visit_foreign_item, walk_item}
279278
make_visit!{GenericParam; visit_generic_param, walk_generic_param}
280279
make_visit!{Item; visit_item, walk_item}
@@ -314,6 +313,7 @@ macro_rules! make_ast_visitor {
314313
make_visit!{Crate; visit_crate, walk_crate}
315314
make_visit!{EnumDef; visit_enum_def, walk_enum_def}
316315
make_visit!{ExprField; visit_expr_field, walk_expr_field}
316+
make_visit!{FieldDef; visit_field_def, walk_field_def}
317317
make_visit!{FnDecl; visit_fn_decl, walk_fn_decl}
318318
make_visit!{FnRetTy; visit_fn_ret_ty, walk_fn_ret_ty}
319319
make_visit!{FormatArgs; visit_format_args, walk_format_args}
@@ -441,6 +441,20 @@ macro_rules! make_ast_visitor {
441441
return_result!(V)
442442
}
443443

444+
pub fn walk_field_def<$($lt,)? V: $trait$(<$lt>)?>(
445+
visitor: &mut V,
446+
fd: ref_t!(FieldDef)
447+
) -> result!(V) {
448+
let FieldDef { span, ident, vis, id, ty, attrs, is_placeholder: _ } = fd;
449+
try_v!(visit_id!(visitor, id));
450+
visit_list!(visitor, visit_attribute, attrs);
451+
try_v!(visitor.visit_vis(vis));
452+
visit_o!(ident, |ident| visitor.visit_ident(ident));
453+
try_v!(visitor.visit_ty(ty));
454+
try_v!(visit_span!(visitor, span));
455+
return_result!(V)
456+
}
457+
444458
pub fn walk_fn_decl<$($lt,)? V: $trait$(<$lt>)?>(
445459
vis: &mut V,
446460
decl: ref_t!(FnDecl)
@@ -1298,15 +1312,6 @@ pub mod visit {
12981312
V::Result::output()
12991313
}
13001314

1301-
pub fn walk_field_def<'a, V: Visitor<'a>>(visitor: &mut V, field: &'a FieldDef) -> V::Result {
1302-
let FieldDef { attrs, id: _, span: _, vis, ident, ty, is_placeholder: _ } = field;
1303-
walk_list!(visitor, visit_attribute, attrs);
1304-
try_visit!(visitor.visit_vis(vis));
1305-
visit_opt!(visitor, visit_ident, ident);
1306-
try_visit!(visitor.visit_ty(ty));
1307-
V::Result::output()
1308-
}
1309-
13101315
pub fn walk_block<'a, V: Visitor<'a>>(visitor: &mut V, block: &'a Block) -> V::Result {
13111316
let Block { stmts, id: _, rules: _, span: _, tokens: _, could_be_bare_literal: _ } = block;
13121317
walk_list!(visitor, visit_stmt, stmts);
@@ -2183,13 +2188,7 @@ pub mod mut_visit {
21832188
visitor: &mut T,
21842189
mut fd: FieldDef,
21852190
) -> SmallVec<[FieldDef; 1]> {
2186-
let FieldDef { span, ident, vis, id, ty, attrs, is_placeholder: _ } = &mut fd;
2187-
visitor.visit_id(id);
2188-
visit_attrs(visitor, attrs);
2189-
visitor.visit_vis(vis);
2190-
visit_opt(ident, |ident| visitor.visit_ident(ident));
2191-
visitor.visit_ty(ty);
2192-
visitor.visit_span(span);
2191+
visitor.visit_field_def(&mut fd);
21932192
smallvec![fd]
21942193
}
21952194

0 commit comments

Comments
 (0)