Skip to content

Commit 5b2351a

Browse files
committed
Unify {visit,walk}_field_def
1 parent 5798f37 commit 5b2351a

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
@@ -268,7 +268,6 @@ macro_rules! make_ast_visitor {
268268
type Result: VisitorResult = ();
269269

270270
make_visit!{AssocItem, ctxt: AssocCtxt; visit_assoc_item, walk_assoc_item}
271-
make_visit!{FieldDef; visit_field_def, walk_field_def}
272271
make_visit!{ForeignItem; visit_foreign_item, walk_item}
273272
make_visit!{GenericParam; visit_generic_param, walk_generic_param}
274273
make_visit!{Item; visit_item, walk_item}
@@ -308,6 +307,7 @@ macro_rules! make_ast_visitor {
308307
make_visit!{Crate; visit_crate, walk_crate}
309308
make_visit!{EnumDef; visit_enum_def, walk_enum_def}
310309
make_visit!{ExprField; visit_expr_field, walk_expr_field}
310+
make_visit!{FieldDef; visit_field_def, walk_field_def}
311311
make_visit!{FnDecl; visit_fn_decl, walk_fn_decl}
312312
make_visit!{FnRetTy; visit_fn_ret_ty, walk_fn_ret_ty}
313313
make_visit!{FormatArgs; visit_format_args, walk_format_args}
@@ -435,6 +435,20 @@ macro_rules! make_ast_visitor {
435435
return_result!(V)
436436
}
437437

438+
pub fn walk_field_def<$($lt,)? V: $trait$(<$lt>)?>(
439+
visitor: &mut V,
440+
fd: ref_t!(FieldDef)
441+
) -> result!(V) {
442+
let FieldDef { span, ident, vis, id, ty, attrs, is_placeholder: _ } = fd;
443+
try_v!(visit_id!(visitor, id));
444+
visit_list!(visitor, visit_attribute, attrs);
445+
try_v!(visitor.visit_vis(vis));
446+
visit_o!(ident, |ident| visitor.visit_ident(ident));
447+
try_v!(visitor.visit_ty(ty));
448+
try_v!(visit_span!(visitor, span));
449+
return_result!(V)
450+
}
451+
438452
pub fn walk_fn_decl<$($lt,)? V: $trait$(<$lt>)?>(
439453
vis: &mut V,
440454
decl: ref_t!(FnDecl)
@@ -1292,15 +1306,6 @@ pub mod visit {
12921306
V::Result::output()
12931307
}
12941308

1295-
pub fn walk_field_def<'a, V: Visitor<'a>>(visitor: &mut V, field: &'a FieldDef) -> V::Result {
1296-
let FieldDef { attrs, id: _, span: _, vis, ident, ty, is_placeholder: _ } = field;
1297-
walk_list!(visitor, visit_attribute, attrs);
1298-
try_visit!(visitor.visit_vis(vis));
1299-
visit_opt!(visitor, visit_ident, ident);
1300-
try_visit!(visitor.visit_ty(ty));
1301-
V::Result::output()
1302-
}
1303-
13041309
pub fn walk_block<'a, V: Visitor<'a>>(visitor: &mut V, block: &'a Block) -> V::Result {
13051310
let Block { stmts, id: _, rules: _, span: _, tokens: _, could_be_bare_literal: _ } = block;
13061311
walk_list!(visitor, visit_stmt, stmts);
@@ -2177,13 +2182,7 @@ pub mod mut_visit {
21772182
visitor: &mut T,
21782183
mut fd: FieldDef,
21792184
) -> SmallVec<[FieldDef; 1]> {
2180-
let FieldDef { span, ident, vis, id, ty, attrs, is_placeholder: _ } = &mut fd;
2181-
visitor.visit_id(id);
2182-
visit_attrs(visitor, attrs);
2183-
visitor.visit_vis(vis);
2184-
visit_opt(ident, |ident| visitor.visit_ident(ident));
2185-
visitor.visit_ty(ty);
2186-
visitor.visit_span(span);
2185+
visitor.visit_field_def(&mut fd);
21872186
smallvec![fd]
21882187
}
21892188

0 commit comments

Comments
 (0)