@@ -275,7 +275,6 @@ macro_rules! make_ast_visitor {
275
275
276
276
make_visit!{ Arm ; visit_arm, walk_arm}
277
277
make_visit!{ AssocItem , ctxt: AssocCtxt ; visit_assoc_item, walk_assoc_item}
278
- make_visit!{ ExprField ; visit_expr_field, walk_expr_field}
279
278
make_visit!{ FieldDef ; visit_field_def, walk_field_def}
280
279
make_visit!{ ForeignItem ; visit_foreign_item, walk_item}
281
280
make_visit!{ GenericParam ; visit_generic_param, walk_generic_param}
@@ -318,6 +317,7 @@ macro_rules! make_ast_visitor {
318
317
make_visit!{ ClosureBinder ; visit_closure_binder, walk_closure_binder}
319
318
make_visit!{ Crate ; visit_crate, walk_crate}
320
319
make_visit!{ EnumDef ; visit_enum_def, walk_enum_def}
320
+ make_visit!{ ExprField ; visit_expr_field, walk_expr_field}
321
321
make_visit!{ FnDecl ; visit_fn_decl, walk_fn_decl}
322
322
make_visit!{ FnRetTy ; visit_fn_ret_ty, walk_fn_ret_ty}
323
323
make_visit!{ FormatArgs ; visit_format_args, walk_format_args}
@@ -412,6 +412,19 @@ macro_rules! make_ast_visitor {
412
412
return_result!( V )
413
413
}
414
414
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
+
415
428
pub fn walk_fn_decl<$( $lt, ) ? V : $trait$( <$lt>) ?>(
416
429
vis: & mut V ,
417
430
decl: ref_t!( FnDecl )
@@ -913,15 +926,6 @@ pub mod visit {
913
926
V :: Result :: output ( )
914
927
}
915
928
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
-
925
929
pub fn walk_ty < ' a , V : Visitor < ' a > > ( visitor : & mut V , typ : & ' a Ty ) -> V :: Result {
926
930
let Ty { id, kind, span : _, tokens : _ } = typ;
927
931
match kind {
@@ -2209,12 +2213,7 @@ pub mod mut_visit {
2209
2213
vis : & mut T ,
2210
2214
mut f : ExprField ,
2211
2215
) -> 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) ;
2218
2217
smallvec ! [ f]
2219
2218
}
2220
2219
0 commit comments