diff options
| author | Igor Matuszewski <Xanewok@gmail.com> | 2019-10-17 20:48:00 +0200 |
|---|---|---|
| committer | Igor Matuszewski <Xanewok@gmail.com> | 2019-10-17 20:48:00 +0200 |
| commit | 5fe88abed06b3efc8627d726c18dbc48d9d653b3 (patch) | |
| tree | ae536eb58cec08a7667312bb3b9839722ad0998c | |
| parent | ea45150837990ccf40edfe2725ac492fc35193a1 (diff) | |
| download | rust-5fe88abed06b3efc8627d726c18dbc48d9d653b3.tar.gz rust-5fe88abed06b3efc8627d726c18dbc48d9d653b3.zip | |
save-analysis: Nest tables when processing impl items
| -rw-r--r-- | src/librustc_save_analysis/dump_visitor.rs | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/librustc_save_analysis/dump_visitor.rs b/src/librustc_save_analysis/dump_visitor.rs index 502ae337b52..e282936b5d9 100644 --- a/src/librustc_save_analysis/dump_visitor.rs +++ b/src/librustc_save_analysis/dump_visitor.rs @@ -669,15 +669,18 @@ impl<'l, 'tcx> DumpVisitor<'l, 'tcx> { } } } - self.visit_ty(&typ); - if let &Some(ref trait_ref) = trait_ref { - self.process_path(trait_ref.ref_id, &trait_ref.path); - } - self.process_generic_params(generics, "", item.id); - for impl_item in impl_items { - let map = &self.tcx.hir(); - self.process_impl_item(impl_item, map.local_def_id_from_node_id(item.id)); - } + + let map = &self.tcx.hir(); + self.nest_tables(item.id, |v| { + v.visit_ty(&typ); + if let &Some(ref trait_ref) = trait_ref { + v.process_path(trait_ref.ref_id, &trait_ref.path); + } + v.process_generic_params(generics, "", item.id); + for impl_item in impl_items { + v.process_impl_item(impl_item, map.local_def_id_from_node_id(item.id)); + } + }); } fn process_trait( |
