@@ -1320,51 +1320,27 @@ pub fn noop_fold_exprs<T: Folder>(es: Vec<P<Expr>>, folder: &mut T) -> Vec<P<Exp
1320
1320
es. move_flat_map ( |e| folder. fold_opt_expr ( e) )
1321
1321
}
1322
1322
1323
- pub fn noop_fold_stmt < T : Folder > ( Stmt { node, span, id} : Stmt , folder : & mut T )
1324
- -> SmallVector < Stmt > {
1323
+ pub fn noop_fold_stmt < T : Folder > ( Stmt { node, span, id} : Stmt , folder : & mut T ) -> SmallVector < Stmt > {
1325
1324
let id = folder. new_id ( id) ;
1326
1325
let span = folder. new_span ( span) ;
1326
+ noop_fold_stmt_kind ( node, folder) . into_iter ( ) . map ( |node| {
1327
+ Stmt { id : id, node : node, span : span }
1328
+ } ) . collect ( )
1329
+ }
1327
1330
1331
+ pub fn noop_fold_stmt_kind < T : Folder > ( node : StmtKind , folder : & mut T ) -> SmallVector < StmtKind > {
1328
1332
match node {
1329
- StmtKind :: Local ( local) => SmallVector :: one ( Stmt {
1330
- id : id,
1331
- node : StmtKind :: Local ( folder. fold_local ( local) ) ,
1332
- span : span,
1333
- } ) ,
1334
- StmtKind :: Item ( item) => folder. fold_item ( item) . into_iter ( ) . map ( |item| Stmt {
1335
- id : id,
1336
- node : StmtKind :: Item ( item) ,
1337
- span : span,
1338
- } ) . collect ( ) ,
1333
+ StmtKind :: Local ( local) => SmallVector :: one ( StmtKind :: Local ( folder. fold_local ( local) ) ) ,
1334
+ StmtKind :: Item ( item) => folder. fold_item ( item) . into_iter ( ) . map ( StmtKind :: Item ) . collect ( ) ,
1339
1335
StmtKind :: Expr ( expr) => {
1340
- if let Some ( expr) = folder. fold_opt_expr ( expr) {
1341
- SmallVector :: one ( Stmt {
1342
- id : id,
1343
- node : StmtKind :: Expr ( expr) ,
1344
- span : span,
1345
- } )
1346
- } else {
1347
- SmallVector :: zero ( )
1348
- }
1336
+ folder. fold_opt_expr ( expr) . into_iter ( ) . map ( StmtKind :: Expr ) . collect ( )
1349
1337
}
1350
1338
StmtKind :: Semi ( expr) => {
1351
- if let Some ( expr) = folder. fold_opt_expr ( expr) {
1352
- SmallVector :: one ( Stmt {
1353
- id : id,
1354
- node : StmtKind :: Semi ( expr) ,
1355
- span : span,
1356
- } )
1357
- } else {
1358
- SmallVector :: zero ( )
1359
- }
1339
+ folder. fold_opt_expr ( expr) . into_iter ( ) . map ( StmtKind :: Semi ) . collect ( )
1360
1340
}
1361
- StmtKind :: Mac ( mac) => SmallVector :: one ( Stmt {
1362
- id : id,
1363
- node : StmtKind :: Mac ( mac. map ( |( mac, semi, attrs) | {
1364
- ( folder. fold_mac ( mac) , semi, fold_attrs ( attrs. into ( ) , folder) . into ( ) )
1365
- } ) ) ,
1366
- span : span,
1367
- } )
1341
+ StmtKind :: Mac ( mac) => SmallVector :: one ( StmtKind :: Mac ( mac. map ( |( mac, semi, attrs) | {
1342
+ ( folder. fold_mac ( mac) , semi, fold_attrs ( attrs. into ( ) , folder) . into ( ) )
1343
+ } ) ) ) ,
1368
1344
}
1369
1345
}
1370
1346
0 commit comments