HIR: remove the NodeId find

This commit is contained in:
ljedrz 2019-06-24 09:55:11 +02:00
parent d08bd72e97
commit 90de9edce5
4 changed files with 11 additions and 13 deletions

View File

@ -595,12 +595,6 @@ impl<'hir> Map<'hir> {
}
/// Retrieves the `Node` corresponding to `id`, returning `None` if cannot be found.
pub fn find(&self, id: NodeId) -> Option<Node<'hir>> {
let hir_id = self.node_to_hir_id(id);
self.find_by_hir_id(hir_id)
}
// FIXME(@ljedrz): replace the `NodeId` variant.
pub fn find_by_hir_id(&self, hir_id: HirId) -> Option<Node<'hir>> {
let result = self.find_entry(hir_id).and_then(|entry| {
if let Node::Crate = entry.node {

View File

@ -907,11 +907,11 @@ fn print_with_analysis<'tcx>(
let nodeid =
nodeid.expect("`pretty flowgraph=..` needs NodeId (int) or unique path \
suffix (b::c::d)");
let node = tcx.hir().find(nodeid).unwrap_or_else(|| {
let hir_id = tcx.hir().node_to_hir_id(nodeid);
let node = tcx.hir().find_by_hir_id(hir_id).unwrap_or_else(|| {
tcx.sess.fatal(&format!("--pretty flowgraph couldn't find id: {}", nodeid))
});
let hir_id = tcx.hir().node_to_hir_id(nodeid);
match blocks::Code::from_node(&tcx.hir(), hir_id) {
Some(code) => {
let variants = gather_flowgraph_variants(tcx.sess);

View File

@ -552,7 +552,6 @@ where
.into_iter()
.flatten()
.map(|(&var_hir_id, &upvar_id)| {
let var_node_id = tcx_hir.hir_to_node_id(var_hir_id);
let capture = hir_tables.upvar_capture(upvar_id);
let by_ref = match capture {
ty::UpvarCapture::ByValue => false,
@ -563,7 +562,7 @@ where
by_ref,
};
let mut mutability = Mutability::Not;
if let Some(Node::Binding(pat)) = tcx_hir.find(var_node_id) {
if let Some(Node::Binding(pat)) = tcx_hir.find_by_hir_id(var_hir_id) {
if let hir::PatKind::Binding(_, _, ident, _) = pat.node {
debuginfo.debug_name = ident.name;
if let Some(&bm) = hir.tables.pat_binding_modes().get(pat.hir_id) {

View File

@ -410,7 +410,10 @@ impl<'l, 'tcx> SaveContext<'l, 'tcx> {
let mut decl_id = None;
let mut docs = String::new();
let mut attrs = vec![];
if let Some(Node::ImplItem(item)) = self.tcx.hir().find(id) {
let hir_id = self.tcx.hir().node_to_hir_id(id);
if let Some(Node::ImplItem(item)) =
self.tcx.hir().find_by_hir_id(hir_id)
{
docs = self.docs_for_attrs(&item.attrs);
attrs = item.attrs.to_vec();
}
@ -451,8 +454,9 @@ impl<'l, 'tcx> SaveContext<'l, 'tcx> {
Some(def_id) => {
let mut docs = String::new();
let mut attrs = vec![];
let hir_id = self.tcx.hir().node_to_hir_id(id);
if let Some(Node::TraitItem(item)) = self.tcx.hir().find(id) {
if let Some(Node::TraitItem(item)) = self.tcx.hir().find_by_hir_id(hir_id) {
docs = self.docs_for_attrs(&item.attrs);
attrs = item.attrs.to_vec();
}
@ -521,7 +525,8 @@ impl<'l, 'tcx> SaveContext<'l, 'tcx> {
}
match expr.node {
ast::ExprKind::Field(ref sub_ex, ident) => {
let hir_node = match self.tcx.hir().find(sub_ex.id) {
let sub_ex_hir_id = self.tcx.hir().node_to_hir_id(sub_ex.id);
let hir_node = match self.tcx.hir().find_by_hir_id(sub_ex_hir_id) {
Some(Node::Expr(expr)) => expr,
_ => {
debug!(