HIR: remove the NodeId find
This commit is contained in:
parent
d08bd72e97
commit
90de9edce5
@ -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 {
|
||||
|
@ -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);
|
||||
|
@ -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) {
|
||||
|
@ -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!(
|
||||
|
Loading…
x
Reference in New Issue
Block a user