@@ -283,36 +283,32 @@ impl<'l, 'tcx> DumpVisitor<'l, 'tcx> {
283
283
) {
284
284
debug ! ( "process_method: {}:{}" , id, ident) ;
285
285
286
- if let Some ( mut method_data) = self . save_ctxt . get_method_data ( id, ident, span) {
287
- let sig_str = crate :: make_signature ( & sig. decl , & generics) ;
288
- if body. is_some ( ) {
289
- self . nest_tables (
290
- id,
291
- |v| v. process_formals ( & sig. decl . inputs , & method_data. qualname ) ,
292
- ) ;
293
- }
286
+ let hir_id = self . tcx . hir ( ) . node_to_hir_id ( id) ;
287
+ self . nest_tables ( id, |v| {
288
+ if let Some ( mut method_data) = v. save_ctxt . get_method_data ( id, ident, span) {
289
+ v. process_formals ( & sig. decl . inputs , & method_data. qualname ) ;
290
+ v. process_generic_params ( & generics, & method_data. qualname , id) ;
294
291
295
- self . process_generic_params ( & generics, & method_data. qualname , id) ;
292
+ method_data. value = crate :: make_signature ( & sig. decl , & generics) ;
293
+ method_data. sig = sig:: method_signature ( id, ident, generics, sig, & v. save_ctxt ) ;
296
294
297
- method_data. value = sig_str;
298
- method_data. sig = sig:: method_signature ( id, ident, generics, sig, & self . save_ctxt ) ;
299
- let hir_id = self . tcx . hir ( ) . node_to_hir_id ( id) ;
300
- self . dumper . dump_def ( & access_from_vis ! ( self . save_ctxt, vis, hir_id) , method_data) ;
301
- }
295
+ v. dumper . dump_def ( & access_from_vis ! ( v. save_ctxt, vis, hir_id) , method_data) ;
296
+ }
302
297
303
- // walk arg and return types
304
- for arg in & sig. decl . inputs {
305
- self . visit_ty ( & arg. ty ) ;
306
- }
298
+ // walk arg and return types
299
+ for arg in & sig. decl . inputs {
300
+ v . visit_ty ( & arg. ty ) ;
301
+ }
307
302
308
- if let ast:: FunctionRetTy :: Ty ( ref ret_ty) = sig. decl . output {
309
- self . visit_ty ( ret_ty) ;
310
- }
303
+ if let ast:: FunctionRetTy :: Ty ( ref ret_ty) = sig. decl . output {
304
+ v . visit_ty ( ret_ty) ;
305
+ }
311
306
312
- // walk the fn body
313
- if let Some ( body) = body {
314
- self . nest_tables ( id, |v| v. visit_block ( body) ) ;
315
- }
307
+ // walk the fn body
308
+ if let Some ( body) = body {
309
+ v. visit_block ( body) ;
310
+ }
311
+ } ) ;
316
312
}
317
313
318
314
fn process_struct_field_def ( & mut self , field : & ast:: StructField , parent_id : NodeId ) {
@@ -377,26 +373,26 @@ impl<'l, 'tcx> DumpVisitor<'l, 'tcx> {
377
373
ty_params : & ' l ast:: Generics ,
378
374
body : & ' l ast:: Block ,
379
375
) {
380
- if let Some ( fn_data) = self . save_ctxt . get_item_data ( item) {
381
- down_cast_data ! ( fn_data, DefData , item. span) ;
382
- self . nest_tables (
383
- item. id ,
384
- |v| v. process_formals ( & decl. inputs , & fn_data. qualname ) ,
385
- ) ;
386
- self . process_generic_params ( ty_params, & fn_data. qualname , item. id ) ;
387
- let hir_id = self . tcx . hir ( ) . node_to_hir_id ( item. id ) ;
388
- self . dumper . dump_def ( & access_from ! ( self . save_ctxt, item, hir_id) , fn_data) ;
389
- }
376
+ let hir_id = self . tcx . hir ( ) . node_to_hir_id ( item. id ) ;
377
+ self . nest_tables ( item. id , |v| {
378
+ if let Some ( fn_data) = v. save_ctxt . get_item_data ( item) {
379
+ down_cast_data ! ( fn_data, DefData , item. span) ;
380
+ v. process_formals ( & decl. inputs , & fn_data. qualname ) ;
381
+ v. process_generic_params ( ty_params, & fn_data. qualname , item. id ) ;
390
382
391
- for arg in & decl. inputs {
392
- self . visit_ty ( & arg. ty ) ;
393
- }
383
+ v. dumper . dump_def ( & access_from ! ( v. save_ctxt, item, hir_id) , fn_data) ;
384
+ }
394
385
395
- if let ast :: FunctionRetTy :: Ty ( ref ret_ty ) = decl. output {
396
- self . visit_ty ( & ret_ty ) ;
397
- }
386
+ for arg in & decl. inputs {
387
+ v . visit_ty ( & arg . ty )
388
+ }
398
389
399
- self . nest_tables ( item. id , |v| v. visit_block ( & body) ) ;
390
+ if let ast:: FunctionRetTy :: Ty ( ref ret_ty) = decl. output {
391
+ v. visit_ty ( & ret_ty) ;
392
+ }
393
+
394
+ v. visit_block ( & body) ;
395
+ } ) ;
400
396
}
401
397
402
398
fn process_static_or_const_item (
0 commit comments