Skip to content

Commit 332e137

Browse files
committed
Unify {visit,walk}_expr_field
1 parent ac410a9 commit 332e137

File tree

1 file changed

+15
-16
lines changed

1 file changed

+15
-16
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,6 @@ macro_rules! make_ast_visitor {
275275

276276
make_visit!{Arm; visit_arm, walk_arm}
277277
make_visit!{AssocItem, ctxt: AssocCtxt; visit_assoc_item, walk_assoc_item}
278-
make_visit!{ExprField; visit_expr_field, walk_expr_field}
279278
make_visit!{FieldDef; visit_field_def, walk_field_def}
280279
make_visit!{ForeignItem; visit_foreign_item, walk_item}
281280
make_visit!{GenericParam; visit_generic_param, walk_generic_param}
@@ -318,6 +317,7 @@ macro_rules! make_ast_visitor {
318317
make_visit!{ClosureBinder; visit_closure_binder, walk_closure_binder}
319318
make_visit!{Crate; visit_crate, walk_crate}
320319
make_visit!{EnumDef; visit_enum_def, walk_enum_def}
320+
make_visit!{ExprField; visit_expr_field, walk_expr_field}
321321
make_visit!{FnDecl; visit_fn_decl, walk_fn_decl}
322322
make_visit!{FnRetTy; visit_fn_ret_ty, walk_fn_ret_ty}
323323
make_visit!{FormatArgs; visit_format_args, walk_format_args}
@@ -412,6 +412,19 @@ macro_rules! make_ast_visitor {
412412
return_result!(V)
413413
}
414414

415+
pub fn walk_expr_field<$($lt,)? V: $trait$(<$lt>)?>(
416+
vis: &mut V,
417+
f: ref_t!(ExprField)
418+
) -> result!(V) {
419+
let ExprField { ident, expr, span, is_shorthand: _, attrs, id, is_placeholder: _ } = f;
420+
try_v!(visit_id!(vis, id));
421+
visit_list!(vis, visit_attribute, attrs);
422+
try_v!(vis.visit_ident(ident));
423+
try_v!(vis.visit_expr(expr));
424+
try_v!(visit_span!(vis, span));
425+
return_result!(V)
426+
}
427+
415428
pub fn walk_fn_decl<$($lt,)? V: $trait$(<$lt>)?>(
416429
vis: &mut V,
417430
decl: ref_t!(FnDecl)
@@ -913,15 +926,6 @@ pub mod visit {
913926
V::Result::output()
914927
}
915928

916-
pub fn walk_expr_field<'a, V: Visitor<'a>>(visitor: &mut V, f: &'a ExprField) -> V::Result {
917-
let ExprField { attrs, id: _, span: _, ident, expr, is_shorthand: _, is_placeholder: _ } =
918-
f;
919-
walk_list!(visitor, visit_attribute, attrs);
920-
try_visit!(visitor.visit_ident(ident));
921-
try_visit!(visitor.visit_expr(expr));
922-
V::Result::output()
923-
}
924-
925929
pub fn walk_ty<'a, V: Visitor<'a>>(visitor: &mut V, typ: &'a Ty) -> V::Result {
926930
let Ty { id, kind, span: _, tokens: _ } = typ;
927931
match kind {
@@ -2209,12 +2213,7 @@ pub mod mut_visit {
22092213
vis: &mut T,
22102214
mut f: ExprField,
22112215
) -> SmallVec<[ExprField; 1]> {
2212-
let ExprField { ident, expr, span, is_shorthand: _, attrs, id, is_placeholder: _ } = &mut f;
2213-
vis.visit_id(id);
2214-
visit_attrs(vis, attrs);
2215-
vis.visit_ident(ident);
2216-
vis.visit_expr(expr);
2217-
vis.visit_span(span);
2216+
vis.visit_expr_field(&mut f);
22182217
smallvec![f]
22192218
}
22202219

0 commit comments

Comments
 (0)