From 0a511cce79c41eeddbdc0623581e61872f97793c Mon Sep 17 00:00:00 2001 From: ljedrz Date: Fri, 21 Jun 2019 08:57:34 +0200 Subject: [PATCH] revert the NodeId to HirId parameter change to get_path_res --- src/librustc_save_analysis/dump_visitor.rs | 12 +++++------- src/librustc_save_analysis/lib.rs | 11 +++++------ src/librustc_save_analysis/sig.rs | 6 ++---- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/librustc_save_analysis/dump_visitor.rs b/src/librustc_save_analysis/dump_visitor.rs index 4719965da8d66..f67241ef23efc 100644 --- a/src/librustc_save_analysis/dump_visitor.rs +++ b/src/librustc_save_analysis/dump_visitor.rs @@ -233,8 +233,7 @@ impl<'l, 'tcx, 'll, O: DumpOutput + 'll> DumpVisitor<'l, 'tcx, 'll, O> { } fn lookup_def_id(&self, ref_id: NodeId) -> Option { - let hir_id = self.save_ctxt.tcx.hir().node_to_hir_id(ref_id); - match self.save_ctxt.get_path_res(hir_id) { + match self.save_ctxt.get_path_res(ref_id) { Res::PrimTy(..) | Res::SelfTy(..) | Res::Err => None, def => Some(def.def_id()), } @@ -887,8 +886,7 @@ impl<'l, 'tcx, 'll, O: DumpOutput + 'll> DumpVisitor<'l, 'tcx, 'll, O> { return; } }; - let hir_id = self.save_ctxt.tcx.hir().node_to_hir_id(p.id); - let variant = adt.variant_of_res(self.save_ctxt.get_path_res(hir_id)); + let variant = adt.variant_of_res(self.save_ctxt.get_path_res(p.id)); for &Spanned { node: ref field, .. } in fields { if let Some(index) = self.tcx.find_field_index(field.ident, variant) { @@ -918,8 +916,7 @@ impl<'l, 'tcx, 'll, O: DumpOutput + 'll> DumpVisitor<'l, 'tcx, 'll, O> { // process collected paths for (id, ident, immut) in collector.collected_idents { - let hir_id = self.save_ctxt.tcx.hir().node_to_hir_id(id); - match self.save_ctxt.get_path_res(hir_id) { + match self.save_ctxt.get_path_res(id) { Res::Local(hir_id) => { let mut value = if immut == ast::Mutability::Immutable { self.span.snippet(ident.span) @@ -1543,7 +1540,8 @@ impl<'l, 'tcx, 'll, O: DumpOutput + 'll> Visitor<'l> for DumpVisitor<'l, 'tcx, ' return; } }; - let res = self.save_ctxt.get_path_res(hir_expr.hir_id); + let node_id = self.save_ctxt.tcx.hir().hir_to_node_id(hir_expr.hir_id); + let res = self.save_ctxt.get_path_res(node_id); self.process_struct_lit(ex, path, fields, adt.variant_of_res(res), base) } ast::ExprKind::MethodCall(ref seg, ref args) => self.process_method_call(ex, seg, args), diff --git a/src/librustc_save_analysis/lib.rs b/src/librustc_save_analysis/lib.rs index 27e312f65ce24..23fe150c6ff65 100644 --- a/src/librustc_save_analysis/lib.rs +++ b/src/librustc_save_analysis/lib.rs @@ -606,7 +606,8 @@ impl<'l, 'tcx> SaveContext<'l, 'tcx> { } } - pub fn get_path_res(&self, hir_id: hir::HirId) -> Res { + pub fn get_path_res(&self, id: NodeId) -> Res { + let hir_id = self.tcx.hir().node_to_hir_id(id); match self.tcx.hir().get(hir_id) { Node::TraitRef(tr) => tr.path.res, @@ -620,7 +621,7 @@ impl<'l, 'tcx> SaveContext<'l, 'tcx> { Node::PathSegment(seg) => { match seg.res { Some(res) if res != Res::Err => res, - _ => self.get_path_res(self.tcx.hir().get_parent_node_by_hir_id(hir_id)), + _ => self.get_path_res(self.tcx.hir().get_parent_node(id)), } } @@ -695,8 +696,7 @@ impl<'l, 'tcx> SaveContext<'l, 'tcx> { return None; } - let hir_id = self.tcx.hir().node_to_hir_id(id); - let res = self.get_path_res(hir_id); + let res = self.get_path_res(id); let span = path_seg.ident.span; filter!(self.span_utils, span); let span = self.span_from_span(span); @@ -868,8 +868,7 @@ impl<'l, 'tcx> SaveContext<'l, 'tcx> { } fn lookup_ref_id(&self, ref_id: NodeId) -> Option { - let hir_id = self.tcx.hir().node_to_hir_id(ref_id); - match self.get_path_res(hir_id) { + match self.get_path_res(ref_id) { Res::PrimTy(_) | Res::SelfTy(..) | Res::Err => None, def => Some(def.def_id()), } diff --git a/src/librustc_save_analysis/sig.rs b/src/librustc_save_analysis/sig.rs index 7af18a8676abb..db8b5eacd94d9 100644 --- a/src/librustc_save_analysis/sig.rs +++ b/src/librustc_save_analysis/sig.rs @@ -273,8 +273,7 @@ impl Sig for ast::Ty { }; let name = pprust::path_segment_to_string(path.segments.last().ok_or("Bad path")?); - let hir_id = id.map(|node_id| scx.tcx.hir().node_to_hir_id(node_id)); - let res = scx.get_path_res(hir_id.ok_or("Missing id for Path")?); + let res = scx.get_path_res(id.ok_or("Missing id for Path")?); let id = id_from_def_id(res.def_id()); if path.segments.len() - qself.position == 1 { let start = offset + prefix.len(); @@ -577,8 +576,7 @@ impl Sig for ast::Item { impl Sig for ast::Path { fn make(&self, offset: usize, id: Option, scx: &SaveContext<'_, '_>) -> Result { - let hir_id = id.map(|node_id| scx.tcx.hir().node_to_hir_id(node_id)); - let res = scx.get_path_res(hir_id.ok_or("Missing id for Path")?); + let res = scx.get_path_res(id.ok_or("Missing id for Path")?); let (name, start, end) = match res { Res::PrimTy(..) | Res::SelfTy(..) | Res::Err => {