@@ -253,34 +253,10 @@ macro_rules! make_ast_visitor {
253
253
make_visit!{ MetaItem ; visit_meta_item, walk_meta_item}
254
254
make_visit!{ MetaItemInner ; visit_meta_list_item, walk_meta_list_item}
255
255
256
- fn flat_map_foreign_item( & mut self , ni: P <ForeignItem >) -> SmallVec <[ P <ForeignItem >; 1 ] > {
257
- walk_flat_map_foreign_item( self , ni)
258
- }
259
-
260
- fn flat_map_item( & mut self , i: P <Item >) -> SmallVec <[ P <Item >; 1 ] > {
261
- walk_flat_map_item( self , i)
262
- }
263
-
264
- fn flat_map_field_def( & mut self , fd: FieldDef ) -> SmallVec <[ FieldDef ; 1 ] > {
265
- walk_flat_map_field_def( self , fd)
266
- }
267
-
268
- fn flat_map_assoc_item(
269
- & mut self ,
270
- i: P <AssocItem >,
271
- ctxt: AssocCtxt ,
272
- ) -> SmallVec <[ P <AssocItem >; 1 ] > {
273
- walk_flat_map_assoc_item( self , i, ctxt)
274
- }
275
-
276
256
fn flat_map_stmt( & mut self , s: Stmt ) -> SmallVec <[ Stmt ; 1 ] > {
277
257
walk_flat_map_stmt( self , s)
278
258
}
279
259
280
- fn flat_map_arm( & mut self , arm: Arm ) -> SmallVec <[ Arm ; 1 ] > {
281
- walk_flat_map_arm( self , arm)
282
- }
283
-
284
260
/// This method is a hack to workaround unstable of `stmt_expr_attributes`.
285
261
/// It can be removed once that feature is stabilized.
286
262
fn visit_method_receiver_expr( & mut self , ex: & mut P <Expr >) {
@@ -291,33 +267,13 @@ macro_rules! make_ast_visitor {
291
267
noop_filter_map_expr( self , e)
292
268
}
293
269
294
- fn flat_map_variant( & mut self , v: Variant ) -> SmallVec <[ Variant ; 1 ] > {
295
- walk_flat_map_variant( self , v)
296
- }
297
-
298
- fn flat_map_param( & mut self , param: Param ) -> SmallVec <[ Param ; 1 ] > {
299
- walk_flat_map_param( self , param)
300
- }
301
-
302
- fn flat_map_generic_param( & mut self , param: GenericParam ) -> SmallVec <[ GenericParam ; 1 ] > {
303
- walk_flat_map_generic_param( self , param)
304
- }
305
-
306
- fn flat_map_expr_field( & mut self , f: ExprField ) -> SmallVec <[ ExprField ; 1 ] > {
307
- walk_flat_map_expr_field( self , f)
308
- }
309
-
310
270
fn visit_id( & mut self , _id: & mut NodeId ) {
311
271
// Do nothing.
312
272
}
313
273
314
274
fn visit_span( & mut self , _sp: & mut Span ) {
315
275
// Do nothing.
316
276
}
317
-
318
- fn flat_map_pat_field( & mut self , fp: PatField ) -> SmallVec <[ PatField ; 1 ] > {
319
- walk_flat_map_pat_field( self , fp)
320
- }
321
277
} else {
322
278
/// The result type of the `visit_*` methods. Can be either `()`,
323
279
/// or `ControlFlow<T>`.
@@ -334,7 +290,7 @@ macro_rules! make_ast_visitor {
334
290
335
291
make_visit!{ AngleBracketedArgs ; visit_angle_bracketed_parameter_data, walk_angle_bracketed_parameter_data}
336
292
make_visit!{ AnonConst ; visit_anon_const, walk_anon_const}
337
- make_visit!{ Arm ; visit_arm, walk_arm}
293
+ make_visit!{ Arm ; visit_arm, walk_arm, flat_map_arm , walk_flat_map_arm }
338
294
make_visit!{ AssocItemConstraint ; visit_assoc_item_constraint, walk_assoc_item_constraint}
339
295
make_visit!{ AttrArgs ; visit_attr_args, walk_attr_args}
340
296
make_visit!{ Attribute ; visit_attribute, walk_attribute}
@@ -346,8 +302,8 @@ macro_rules! make_ast_visitor {
346
302
make_visit!{ Crate ; visit_crate, walk_crate}
347
303
make_visit!{ Defaultness ; visit_defaultness, walk_defaultness}
348
304
make_visit!{ EnumDef ; visit_enum_def, walk_enum_def}
349
- make_visit!{ ExprField ; visit_expr_field, walk_expr_field}
350
- make_visit!{ FieldDef ; visit_field_def, walk_field_def}
305
+ make_visit!{ ExprField ; visit_expr_field, walk_expr_field, flat_map_expr_field , walk_flat_map_expr_field }
306
+ make_visit!{ FieldDef ; visit_field_def, walk_field_def, flat_map_field_def , walk_flat_map_field_def }
351
307
make_visit!{ FnDecl ; visit_fn_decl, walk_fn_decl}
352
308
make_visit!{ FnHeader ; visit_fn_header, walk_fn_header}
353
309
make_visit!{ FnRetTy ; visit_fn_ret_ty, walk_fn_ret_ty}
@@ -356,7 +312,7 @@ macro_rules! make_ast_visitor {
356
312
make_visit!{ GenericArg ; visit_generic_arg, walk_generic_arg}
357
313
make_visit!{ GenericArgs ; visit_generic_args, walk_generic_args}
358
314
make_visit!{ GenericBound , _ ctxt: BoundKind ; visit_param_bound, walk_param_bound}
359
- make_visit!{ GenericParam ; visit_generic_param, walk_generic_param}
315
+ make_visit!{ GenericParam ; visit_generic_param, walk_generic_param, flat_map_generic_param , walk_flat_map_generic_param }
360
316
make_visit!{ Generics ; visit_generics, walk_generics}
361
317
make_visit!{ Ident ; visit_ident, walk_ident}
362
318
make_visit!{ ImplPolarity ; visit_impl_polarity, walk_impl_polarity}
@@ -369,9 +325,9 @@ macro_rules! make_ast_visitor {
369
325
make_visit!{ MacroDef , _ id: NodeId ; visit_macro_def, walk_macro_def}
370
326
make_visit!{ MutTy ; visit_mt, walk_mt}
371
327
make_visit!{ Option <P <QSelf >>; visit_qself, walk_qself}
372
- make_visit!{ Param ; visit_param, walk_param}
328
+ make_visit!{ Param ; visit_param, walk_param, flat_map_param , walk_flat_map_param }
373
329
make_visit!{ ParenthesizedArgs ; visit_parenthesized_parameter_data, walk_parenthesized_parameter_data}
374
- make_visit!{ PatField ; visit_pat_field, walk_pat_field}
330
+ make_visit!{ PatField ; visit_pat_field, walk_pat_field, flat_map_pat_field , walk_flat_map_pat_field }
375
331
make_visit!{ Path , _ id: NodeId ; visit_path, walk_path}
376
332
make_visit!{ PathSegment ; visit_path_segment, walk_path_segment}
377
333
make_visit!{ PolyTraitRef ; visit_poly_trait_ref, walk_poly_trait_ref}
@@ -380,7 +336,7 @@ macro_rules! make_ast_visitor {
380
336
make_visit!{ TraitRef ; visit_trait_ref, walk_trait_ref}
381
337
make_visit!{ TyAliasWhereClauses ; visit_ty_alias_where_clauses, walk_ty_alias_where_clauses}
382
338
make_visit!{ UseTree , id: NodeId , _ nested: bool ; visit_use_tree, walk_use_tree}
383
- make_visit!{ Variant ; visit_variant, walk_variant}
339
+ make_visit!{ Variant ; visit_variant, walk_variant, flat_map_variant , walk_flat_map_variant }
384
340
make_visit!{ VariantData ; visit_variant_data, walk_variant_data}
385
341
make_visit!{ Visibility ; visit_vis, walk_vis}
386
342
make_visit!{ WhereClause ; visit_where_clause, walk_where_clause}
@@ -391,9 +347,9 @@ macro_rules! make_ast_visitor {
391
347
make_visit!{ P !( Ty ) ; visit_ty, walk_ty}
392
348
393
349
// Item variants
394
- make_visit!{ Item ; visit_item, walk_item}
395
- make_visit!{ AssocItem , ctxt: AssocCtxt ; visit_assoc_item, walk_assoc_item}
396
- make_visit!{ ForeignItem ; visit_foreign_item, walk_item}
350
+ make_visit!{ P ! ( Item ) ; visit_item, walk_item, flat_map_item , walk_flat_map_item }
351
+ make_visit!{ P ! ( AssocItem ) , ctxt: AssocCtxt ; visit_assoc_item, walk_assoc_item, flat_map_assoc_item , walk_flat_map_assoc_item }
352
+ make_visit!{ P ! ( ForeignItem ) ; visit_foreign_item, walk_item, flat_map_foreign_item , walk_flat_map_foreign_item }
397
353
398
354
fn visit_fn( & mut self , fn_kind: FnKind !( ) , _span: Span , _id: NodeId ) -> result!( ) {
399
355
walk_fn( self , fn_kind)
0 commit comments