mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 08:13:41 +00:00
Remove hir::ForeignItem::attrs.
This commit is contained in:
parent
c298744da7
commit
4bab93a039
@ -700,10 +700,10 @@ impl<'hir> LoweringContext<'_, 'hir> {
|
||||
fn lower_foreign_item(&mut self, i: &ForeignItem) -> hir::ForeignItem<'hir> {
|
||||
let hir_id = self.lower_node_id(i.id);
|
||||
let def_id = hir_id.expect_owner();
|
||||
self.lower_attrs(hir_id, &i.attrs);
|
||||
hir::ForeignItem {
|
||||
def_id,
|
||||
ident: i.ident,
|
||||
attrs: self.lower_attrs(hir_id, &i.attrs),
|
||||
kind: match i.kind {
|
||||
ForeignItemKind::Fn(box FnKind(_, ref sig, ref generics, _)) => {
|
||||
let fdec = &sig.decl;
|
||||
|
@ -2916,7 +2916,6 @@ pub struct ForeignItemRef<'hir> {
|
||||
#[derive(Debug)]
|
||||
pub struct ForeignItem<'hir> {
|
||||
pub ident: Ident,
|
||||
pub attrs: &'hir [Attribute],
|
||||
pub kind: ForeignItemKind<'hir>,
|
||||
pub def_id: LocalDefId,
|
||||
pub span: Span,
|
||||
@ -3083,5 +3082,5 @@ mod size_asserts {
|
||||
rustc_data_structures::static_assert_size!(super::Item<'static>, 200);
|
||||
rustc_data_structures::static_assert_size!(super::TraitItem<'static>, 144);
|
||||
rustc_data_structures::static_assert_size!(super::ImplItem<'static>, 168);
|
||||
rustc_data_structures::static_assert_size!(super::ForeignItem<'static>, 152);
|
||||
rustc_data_structures::static_assert_size!(super::ForeignItem<'static>, 136);
|
||||
}
|
||||
|
@ -178,11 +178,10 @@ impl<HirCtx: crate::HashStableContext> HashStable<HirCtx> for ImplItem<'_> {
|
||||
|
||||
impl<HirCtx: crate::HashStableContext> HashStable<HirCtx> for ForeignItem<'_> {
|
||||
fn hash_stable(&self, hcx: &mut HirCtx, hasher: &mut StableHasher) {
|
||||
let ForeignItem { def_id: _, ident, ref attrs, ref kind, span, ref vis } = *self;
|
||||
let ForeignItem { def_id: _, ident, ref kind, span, ref vis } = *self;
|
||||
|
||||
hcx.hash_hir_item_like(|hcx| {
|
||||
ident.name.hash_stable(hcx, hasher);
|
||||
attrs.hash_stable(hcx, hasher);
|
||||
kind.hash_stable(hcx, hasher);
|
||||
span.hash_stable(hcx, hasher);
|
||||
vis.hash_stable(hcx, hasher);
|
||||
|
@ -453,7 +453,7 @@ impl<'a> State<'a> {
|
||||
pub fn print_foreign_item(&mut self, item: &hir::ForeignItem<'_>) {
|
||||
self.hardbreak_if_not_bol();
|
||||
self.maybe_print_comment(item.span.lo());
|
||||
self.print_outer_attributes(&item.attrs);
|
||||
self.print_outer_attributes(self.attrs(item.hir_id()));
|
||||
match item.kind {
|
||||
hir::ForeignItemKind::Fn(ref decl, ref arg_names, ref generics) => {
|
||||
self.head("");
|
||||
|
@ -97,7 +97,8 @@ impl<'a, 'tcx, 'v> Visitor<'v> for Context<'a, 'tcx> {
|
||||
|
||||
fn visit_foreign_item(&mut self, i: &hir::ForeignItem<'_>) {
|
||||
let check_name = |attr, sym| self.tcx.sess.check_name(attr, sym);
|
||||
if let Some((lang_item, _)) = lang_items::extract(check_name, &i.attrs) {
|
||||
let attrs = self.tcx.hir().attrs(i.hir_id());
|
||||
if let Some((lang_item, _)) = lang_items::extract(check_name, attrs) {
|
||||
self.register(lang_item, i.span);
|
||||
}
|
||||
intravisit::walk_foreign_item(self, i)
|
||||
|
@ -139,6 +139,7 @@ impl<'tcx> SaveContext<'tcx> {
|
||||
pub fn get_extern_item_data(&self, item: &hir::ForeignItem<'_>) -> Option<Data> {
|
||||
let def_id = item.def_id.to_def_id();
|
||||
let qualname = format!("::{}", self.tcx.def_path_str(def_id));
|
||||
let attrs = self.tcx.hir().attrs(item.hir_id());
|
||||
match item.kind {
|
||||
hir::ForeignItemKind::Fn(ref decl, arg_names, ref generics) => {
|
||||
filter!(self.span_utils, item.ident.span);
|
||||
@ -169,9 +170,9 @@ impl<'tcx> SaveContext<'tcx> {
|
||||
parent: None,
|
||||
children: vec![],
|
||||
decl_id: None,
|
||||
docs: self.docs_for_attrs(&item.attrs),
|
||||
docs: self.docs_for_attrs(attrs),
|
||||
sig: sig::foreign_item_signature(item, self),
|
||||
attributes: lower_attributes(item.attrs.to_vec(), self),
|
||||
attributes: lower_attributes(attrs.to_vec(), self),
|
||||
}))
|
||||
}
|
||||
hir::ForeignItemKind::Static(ref ty, _) => {
|
||||
@ -190,9 +191,9 @@ impl<'tcx> SaveContext<'tcx> {
|
||||
parent: None,
|
||||
children: vec![],
|
||||
decl_id: None,
|
||||
docs: self.docs_for_attrs(&item.attrs),
|
||||
docs: self.docs_for_attrs(attrs),
|
||||
sig: sig::foreign_item_signature(item, self),
|
||||
attributes: lower_attributes(item.attrs.to_vec(), self),
|
||||
attributes: lower_attributes(attrs.to_vec(), self),
|
||||
}))
|
||||
}
|
||||
// FIXME(plietar): needs a new DefKind in rls-data
|
||||
|
Loading…
Reference in New Issue
Block a user