hir: Remove hir::Map::{owner,expect_owner}

This commit is contained in:
Vadim Petrochenkov 2024-01-25 20:47:03 +03:00
parent 667d5d325f
commit db41f4aaa0
10 changed files with 11 additions and 19 deletions

View file

@ -578,7 +578,7 @@ pub fn check_function_signature<'tcx>(
fn_id: LocalDefId, fn_id: LocalDefId,
) -> rustc_span::Span { ) -> rustc_span::Span {
let mut args = { let mut args = {
let node = tcx.hir().expect_owner(fn_id); let node = tcx.expect_hir_owner_node(fn_id);
let decl = node.fn_decl().unwrap_or_else(|| bug!("expected fn decl, found {:?}", node)); let decl = node.fn_decl().unwrap_or_else(|| bug!("expected fn decl, found {:?}", node));
decl.inputs.iter().map(|t| t.span).chain(std::iter::once(decl.output.span())) decl.inputs.iter().map(|t| t.span).chain(std::iter::once(decl.output.span()))
}; };

View file

@ -189,7 +189,7 @@ where
} }
fn check_well_formed(tcx: TyCtxt<'_>, def_id: hir::OwnerId) -> Result<(), ErrorGuaranteed> { fn check_well_formed(tcx: TyCtxt<'_>, def_id: hir::OwnerId) -> Result<(), ErrorGuaranteed> {
let node = tcx.hir().owner(def_id); let node = tcx.hir_owner_node(def_id);
let mut res = match node { let mut res = match node {
hir::OwnerNode::Crate(_) => bug!("check_well_formed cannot be applied to the crate root"), hir::OwnerNode::Crate(_) => bug!("check_well_formed cannot be applied to the crate root"),
hir::OwnerNode::Item(item) => check_item(tcx, item), hir::OwnerNode::Item(item) => check_item(tcx, item),

View file

@ -254,7 +254,7 @@ fn resolve_bound_vars(tcx: TyCtxt<'_>, local_def_id: hir::OwnerId) -> ResolveBou
map: &mut named_variable_map, map: &mut named_variable_map,
scope: &Scope::Root { opt_parent_item: None }, scope: &Scope::Root { opt_parent_item: None },
}; };
match tcx.hir().owner(local_def_id) { match tcx.hir_owner_node(local_def_id) {
hir::OwnerNode::Item(item) => visitor.visit_item(item), hir::OwnerNode::Item(item) => visitor.visit_item(item),
hir::OwnerNode::ForeignItem(item) => visitor.visit_foreign_item(item), hir::OwnerNode::ForeignItem(item) => visitor.visit_foreign_item(item),
hir::OwnerNode::TraitItem(item) => { hir::OwnerNode::TraitItem(item) => {

View file

@ -2546,7 +2546,7 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
add_lt_suggs, add_lt_suggs,
new_lt: &new_lt, new_lt: &new_lt,
}; };
match self.tcx.hir().expect_owner(lifetime_scope) { match self.tcx.expect_hir_owner_node(lifetime_scope) {
hir::OwnerNode::Item(i) => visitor.visit_item(i), hir::OwnerNode::Item(i) => visitor.visit_item(i),
hir::OwnerNode::ForeignItem(i) => visitor.visit_foreign_item(i), hir::OwnerNode::ForeignItem(i) => visitor.visit_foreign_item(i),
hir::OwnerNode::ImplItem(i) => visitor.visit_impl_item(i), hir::OwnerNode::ImplItem(i) => visitor.visit_impl_item(i),

View file

@ -443,7 +443,7 @@ impl<'a, 'tcx> NiceRegionError<'a, 'tcx> {
if let hir::OwnerNode::Item(Item { if let hir::OwnerNode::Item(Item {
kind: ItemKind::Impl(hir::Impl { self_ty, .. }), kind: ItemKind::Impl(hir::Impl { self_ty, .. }),
.. ..
}) = tcx.hir().owner(impl_did) }) = tcx.hir_owner_node(impl_did)
{ {
Some((impl_item.ident, self_ty)) Some((impl_item.ident, self_ty))
} else { } else {

View file

@ -181,7 +181,7 @@ fn shallow_lint_levels_on(tcx: TyCtxt<'_>, owner: hir::OwnerId) -> ShallowLintLe
// Otherwise, we need to visit the attributes in source code order, so we fetch HIR and do // Otherwise, we need to visit the attributes in source code order, so we fetch HIR and do
// a standard visit. // a standard visit.
// FIXME(#102522) Just iterate on attrs once that iteration order matches HIR's. // FIXME(#102522) Just iterate on attrs once that iteration order matches HIR's.
_ => match tcx.hir().owner(owner) { _ => match tcx.hir_owner_node(owner) {
hir::OwnerNode::Item(item) => levels.visit_item(item), hir::OwnerNode::Item(item) => levels.visit_item(item),
hir::OwnerNode::ForeignItem(item) => levels.visit_foreign_item(item), hir::OwnerNode::ForeignItem(item) => levels.visit_foreign_item(item),
hir::OwnerNode::TraitItem(item) => levels.visit_trait_item(item), hir::OwnerNode::TraitItem(item) => levels.visit_trait_item(item),

View file

@ -148,12 +148,12 @@ impl<'tcx> TyCtxt<'tcx> {
} }
#[inline] #[inline]
fn expect_hir_owner_node(self, def_id: LocalDefId) -> OwnerNode<'tcx> { pub fn expect_hir_owner_node(self, def_id: LocalDefId) -> OwnerNode<'tcx> {
self.expect_hir_owner_nodes(def_id).node() self.expect_hir_owner_nodes(def_id).node()
} }
#[inline] #[inline]
fn hir_owner_node(self, owner_id: OwnerId) -> OwnerNode<'tcx> { pub fn hir_owner_node(self, owner_id: OwnerId) -> OwnerNode<'tcx> {
self.hir_owner_nodes(owner_id).node() self.hir_owner_nodes(owner_id).node()
} }
@ -263,10 +263,6 @@ impl<'hir> Map<'hir> {
self.tcx.opt_hir_owner_node(id)?.generics() self.tcx.opt_hir_owner_node(id)?.generics()
} }
pub fn owner(self, id: OwnerId) -> OwnerNode<'hir> {
self.tcx.hir_owner_node(id)
}
pub fn item(self, id: ItemId) -> &'hir Item<'hir> { pub fn item(self, id: ItemId) -> &'hir Item<'hir> {
self.tcx.hir_owner_node(id.owner_id).expect_item() self.tcx.hir_owner_node(id.owner_id).expect_item()
} }
@ -755,10 +751,6 @@ impl<'hir> Map<'hir> {
) )
} }
pub fn expect_owner(self, def_id: LocalDefId) -> OwnerNode<'hir> {
self.tcx.expect_hir_owner_node(def_id)
}
pub fn expect_item(self, id: LocalDefId) -> &'hir Item<'hir> { pub fn expect_item(self, id: LocalDefId) -> &'hir Item<'hir> {
match self.tcx.expect_hir_owner_node(id) { match self.tcx.expect_hir_owner_node(id) {
OwnerNode::Item(item) => item, OwnerNode::Item(item) => item,

View file

@ -583,7 +583,7 @@ impl UnsafeOpKind {
suggest_unsafe_block: bool, suggest_unsafe_block: bool,
) { ) {
let parent_id = tcx.hir().get_parent_item(hir_id); let parent_id = tcx.hir().get_parent_item(hir_id);
let parent_owner = tcx.hir().owner(parent_id); let parent_owner = tcx.hir_owner_node(parent_id);
let should_suggest = parent_owner.fn_sig().is_some_and(|sig| sig.header.is_unsafe()); let should_suggest = parent_owner.fn_sig().is_some_and(|sig| sig.header.is_unsafe());
let unsafe_not_inherited_note = if should_suggest { let unsafe_not_inherited_note = if should_suggest {
suggest_unsafe_block.then(|| { suggest_unsafe_block.then(|| {

View file

@ -11,7 +11,7 @@ use rustc_span::sym;
use super::ITER_NTH_ZERO; use super::ITER_NTH_ZERO;
pub(super) fn check(cx: &LateContext<'_>, expr: &hir::Expr<'_>, recv: &hir::Expr<'_>, arg: &hir::Expr<'_>) { pub(super) fn check(cx: &LateContext<'_>, expr: &hir::Expr<'_>, recv: &hir::Expr<'_>, arg: &hir::Expr<'_>) {
if let OwnerNode::Item(item) = cx.tcx.hir().owner(cx.tcx.hir().get_parent_item(expr.hir_id)) if let OwnerNode::Item(item) = cx.tcx.hir_owner_node(cx.tcx.hir().get_parent_item(expr.hir_id))
&& let def_id = item.owner_id.to_def_id() && let def_id = item.owner_id.to_def_id()
&& is_trait_method(cx, expr, sym::Iterator) && is_trait_method(cx, expr, sym::Iterator)
&& let Some(Constant::Int(0)) = constant(cx, cx.typeck_results(), arg) && let Some(Constant::Int(0)) = constant(cx, cx.typeck_results(), arg)

View file

@ -183,7 +183,7 @@ impl<'tcx> LateLintPass<'tcx> for Return {
&& let ExprKind::Ret(Some(ret)) = expr.kind && let ExprKind::Ret(Some(ret)) = expr.kind
&& let ExprKind::Match(.., MatchSource::TryDesugar(_)) = ret.kind && let ExprKind::Match(.., MatchSource::TryDesugar(_)) = ret.kind
// Ensure this is not the final stmt, otherwise removing it would cause a compile error // Ensure this is not the final stmt, otherwise removing it would cause a compile error
&& let OwnerNode::Item(item) = cx.tcx.hir().owner(cx.tcx.hir().get_parent_item(expr.hir_id)) && let OwnerNode::Item(item) = cx.tcx.hir_owner_node(cx.tcx.hir().get_parent_item(expr.hir_id))
&& let ItemKind::Fn(_, _, body) = item.kind && let ItemKind::Fn(_, _, body) = item.kind
&& let block = cx.tcx.hir().body(body).value && let block = cx.tcx.hir().body(body).value
&& let ExprKind::Block(block, _) = block.kind && let ExprKind::Block(block, _) = block.kind