@@ -283,36 +283,32 @@ impl<'l, 'tcx> DumpVisitor<'l, 'tcx> {
283283 ) {
284284 debug ! ( "process_method: {}:{}" , id, ident) ;
285285
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) ;
294291
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 ) ;
296294
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+ }
302297
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+ }
307302
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+ }
311306
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+ } ) ;
316312 }
317313
318314 fn process_struct_field_def ( & mut self , field : & ast:: StructField , parent_id : NodeId ) {
@@ -377,26 +373,26 @@ impl<'l, 'tcx> DumpVisitor<'l, 'tcx> {
377373 ty_params : & ' l ast:: Generics ,
378374 body : & ' l ast:: Block ,
379375 ) {
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 ) ;
390382
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+ }
394385
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+ }
398389
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+ } ) ;
400396 }
401397
402398 fn process_static_or_const_item (
0 commit comments