提交 b4748679 编写于 作者: V varkor

Rename `ForeignItem.node` to `ForeignItem.kind`

上级 7bc94cc3
...@@ -743,7 +743,7 @@ pub fn walk_foreign_item<'v, V: Visitor<'v>>(visitor: &mut V, foreign_item: &'v ...@@ -743,7 +743,7 @@ pub fn walk_foreign_item<'v, V: Visitor<'v>>(visitor: &mut V, foreign_item: &'v
visitor.visit_vis(&foreign_item.vis); visitor.visit_vis(&foreign_item.vis);
visitor.visit_ident(foreign_item.ident); visitor.visit_ident(foreign_item.ident);
match foreign_item.node { match foreign_item.kind {
ForeignItemKind::Fn(ref function_declaration, ref param_names, ref generics) => { ForeignItemKind::Fn(ref function_declaration, ref param_names, ref generics) => {
visitor.visit_generics(generics); visitor.visit_generics(generics);
visitor.visit_fn_decl(function_declaration); visitor.visit_fn_decl(function_declaration);
......
...@@ -711,7 +711,7 @@ fn lower_foreign_item(&mut self, i: &ForeignItem) -> hir::ForeignItem { ...@@ -711,7 +711,7 @@ fn lower_foreign_item(&mut self, i: &ForeignItem) -> hir::ForeignItem {
hir_id: self.lower_node_id(i.id), hir_id: self.lower_node_id(i.id),
ident: i.ident, ident: i.ident,
attrs: self.lower_attrs(&i.attrs), attrs: self.lower_attrs(&i.attrs),
node: match i.node { kind: match i.kind {
ForeignItemKind::Fn(ref fdec, ref generics) => { ForeignItemKind::Fn(ref fdec, ref generics) => {
let (generics, (fn_dec, fn_args)) = self.add_in_band_defs( let (generics, (fn_dec, fn_args)) = self.add_in_band_defs(
generics, generics,
......
...@@ -157,7 +157,7 @@ fn visit_use_tree(&mut self, use_tree: &'a UseTree, id: NodeId, _nested: bool) { ...@@ -157,7 +157,7 @@ fn visit_use_tree(&mut self, use_tree: &'a UseTree, id: NodeId, _nested: bool) {
} }
fn visit_foreign_item(&mut self, foreign_item: &'a ForeignItem) { fn visit_foreign_item(&mut self, foreign_item: &'a ForeignItem) {
if let ForeignItemKind::Macro(_) = foreign_item.node { if let ForeignItemKind::Macro(_) = foreign_item.kind {
return self.visit_macro_invoc(foreign_item.id); return self.visit_macro_invoc(foreign_item.id);
} }
......
...@@ -313,7 +313,7 @@ pub fn def_kind(&self, hir_id: HirId) -> Option<DefKind> { ...@@ -313,7 +313,7 @@ pub fn def_kind(&self, hir_id: HirId) -> Option<DefKind> {
} }
} }
Node::ForeignItem(item) => { Node::ForeignItem(item) => {
match item.node { match item.kind {
ForeignItemKind::Fn(..) => DefKind::Fn, ForeignItemKind::Fn(..) => DefKind::Fn,
ForeignItemKind::Static(..) => DefKind::Static, ForeignItemKind::Static(..) => DefKind::Static,
ForeignItemKind::Type => DefKind::ForeignTy, ForeignItemKind::Type => DefKind::ForeignTy,
...@@ -820,7 +820,7 @@ pub fn get_enclosing_scope(&self, hir_id: HirId) -> Option<HirId> { ...@@ -820,7 +820,7 @@ pub fn get_enclosing_scope(&self, hir_id: HirId) -> Option<HirId> {
} }
}, },
Node::ForeignItem(fi) => { Node::ForeignItem(fi) => {
match fi.node { match fi.kind {
ForeignItemKind::Fn(..) => true, ForeignItemKind::Fn(..) => true,
_ => false, _ => false,
} }
......
...@@ -2581,7 +2581,7 @@ pub struct ForeignItem { ...@@ -2581,7 +2581,7 @@ pub struct ForeignItem {
#[stable_hasher(project(name))] #[stable_hasher(project(name))]
pub ident: Ident, pub ident: Ident,
pub attrs: HirVec<Attribute>, pub attrs: HirVec<Attribute>,
pub node: ForeignItemKind, pub kind: ForeignItemKind,
pub hir_id: HirId, pub hir_id: HirId,
pub span: Span, pub span: Span,
pub vis: Visibility, pub vis: Visibility,
......
...@@ -372,7 +372,7 @@ pub fn print_foreign_item(&mut self, item: &hir::ForeignItem) { ...@@ -372,7 +372,7 @@ pub fn print_foreign_item(&mut self, item: &hir::ForeignItem) {
self.hardbreak_if_not_bol(); self.hardbreak_if_not_bol();
self.maybe_print_comment(item.span.lo()); self.maybe_print_comment(item.span.lo());
self.print_outer_attributes(&item.attrs); self.print_outer_attributes(&item.attrs);
match item.node { match item.kind {
hir::ForeignItemKind::Fn(ref decl, ref arg_names, ref generics) => { hir::ForeignItemKind::Fn(ref decl, ref arg_names, ref generics) => {
self.head(""); self.head("");
self.print_fn(decl, self.print_fn(decl,
......
...@@ -613,7 +613,7 @@ fn visit_variant(&mut self, ...@@ -613,7 +613,7 @@ fn visit_variant(&mut self,
fn visit_foreign_item(&mut self, fi: &'tcx hir::ForeignItem) { fn visit_foreign_item(&mut self, fi: &'tcx hir::ForeignItem) {
if self.should_warn_about_foreign_item(fi) { if self.should_warn_about_foreign_item(fi) {
self.warn_dead_code(fi.hir_id, fi.span, fi.ident.name, self.warn_dead_code(fi.hir_id, fi.span, fi.ident.name,
fi.node.descriptive_variant(), "used"); fi.kind.descriptive_variant(), "used");
} }
intravisit::walk_foreign_item(self, fi); intravisit::walk_foreign_item(self, fi);
} }
......
...@@ -541,7 +541,7 @@ fn visit_item(&mut self, item: &'tcx hir::Item) { ...@@ -541,7 +541,7 @@ fn visit_item(&mut self, item: &'tcx hir::Item) {
} }
fn visit_foreign_item(&mut self, item: &'tcx hir::ForeignItem) { fn visit_foreign_item(&mut self, item: &'tcx hir::ForeignItem) {
match item.node { match item.kind {
hir::ForeignItemKind::Fn(ref decl, _, ref generics) => { hir::ForeignItemKind::Fn(ref decl, _, ref generics) => {
self.visit_early_late(None, decl, generics, |this| { self.visit_early_late(None, decl, generics, |this| {
intravisit::walk_foreign_item(this, item); intravisit::walk_foreign_item(this, item);
......
...@@ -382,7 +382,7 @@ fn visit_struct_field(&mut self, s: &'tcx StructField) { ...@@ -382,7 +382,7 @@ fn visit_struct_field(&mut self, s: &'tcx StructField) {
} }
fn visit_foreign_item(&mut self, i: &'tcx hir::ForeignItem) { fn visit_foreign_item(&mut self, i: &'tcx hir::ForeignItem) {
self.check_missing_stability(i.hir_id, i.span, i.node.descriptive_variant()); self.check_missing_stability(i.hir_id, i.span, i.kind.descriptive_variant());
intravisit::walk_foreign_item(self, i); intravisit::walk_foreign_item(self, i);
} }
......
...@@ -249,7 +249,7 @@ impl CodegenCx<'ll, 'tcx> { ...@@ -249,7 +249,7 @@ impl CodegenCx<'ll, 'tcx> {
} }
Node::ForeignItem(&hir::ForeignItem { Node::ForeignItem(&hir::ForeignItem {
ref attrs, span, node: hir::ForeignItemKind::Static(..), .. ref attrs, span, kind: hir::ForeignItemKind::Static(..), ..
}) => { }) => {
let fn_attrs = self.tcx.codegen_fn_attrs(def_id); let fn_attrs = self.tcx.codegen_fn_attrs(def_id);
(check_and_apply_linkage(&self, &fn_attrs, ty, sym, span), attrs) (check_and_apply_linkage(&self, &fn_attrs, ty, sym, span), attrs)
......
...@@ -978,7 +978,7 @@ fn check_foreign_item(&mut self, cx: &LateContext<'_, '_>, it: &hir::ForeignItem ...@@ -978,7 +978,7 @@ fn check_foreign_item(&mut self, cx: &LateContext<'_, '_>, it: &hir::ForeignItem
if let Abi::Rust | Abi::RustCall | Abi::RustIntrinsic | Abi::PlatformIntrinsic = abi { if let Abi::Rust | Abi::RustCall | Abi::RustIntrinsic | Abi::PlatformIntrinsic = abi {
// Don't worry about types in internal ABIs. // Don't worry about types in internal ABIs.
} else { } else {
match it.node { match it.kind {
hir::ForeignItemKind::Fn(ref decl, _, _) => { hir::ForeignItemKind::Fn(ref decl, _, _) => {
vis.check_foreign_fn(it.hir_id, decl); vis.check_foreign_fn(it.hir_id, decl);
} }
......
...@@ -1677,7 +1677,7 @@ fn encode_info_for_foreign_item(&mut self, ...@@ -1677,7 +1677,7 @@ fn encode_info_for_foreign_item(&mut self,
debug!("EncodeContext::encode_info_for_foreign_item({:?})", def_id); debug!("EncodeContext::encode_info_for_foreign_item({:?})", def_id);
let kind = match nitem.node { let kind = match nitem.kind {
hir::ForeignItemKind::Fn(_, ref names, _) => { hir::ForeignItemKind::Fn(_, ref names, _) => {
let data = FnData { let data = FnData {
asyncness: hir::IsAsync::NotAsync, asyncness: hir::IsAsync::NotAsync,
...@@ -1703,7 +1703,7 @@ fn encode_info_for_foreign_item(&mut self, ...@@ -1703,7 +1703,7 @@ fn encode_info_for_foreign_item(&mut self,
ty: Some(self.encode_item_type(def_id)), ty: Some(self.encode_item_type(def_id)),
inherent_impls: Lazy::empty(), inherent_impls: Lazy::empty(),
variances: match nitem.node { variances: match nitem.kind {
hir::ForeignItemKind::Fn(..) => self.encode_variances_of(def_id), hir::ForeignItemKind::Fn(..) => self.encode_variances_of(def_id),
_ => Lazy::empty(), _ => Lazy::empty(),
}, },
......
...@@ -682,7 +682,7 @@ fn visit_item(&mut self, item: &'a Item) { ...@@ -682,7 +682,7 @@ fn visit_item(&mut self, item: &'a Item) {
} }
fn visit_foreign_item(&mut self, fi: &'a ForeignItem) { fn visit_foreign_item(&mut self, fi: &'a ForeignItem) {
match fi.node { match fi.kind {
ForeignItemKind::Fn(ref decl, _) => { ForeignItemKind::Fn(ref decl, _) => {
self.check_fn_decl(decl); self.check_fn_decl(decl);
self.check_decl_no_pat(decl, |span, _| { self.check_decl_no_pat(decl, |span, _| {
......
...@@ -813,7 +813,7 @@ fn build_reduced_graph_for_item(&mut self, item: &'b Item) { ...@@ -813,7 +813,7 @@ fn build_reduced_graph_for_item(&mut self, item: &'b Item) {
/// Constructs the reduced graph for one foreign item. /// Constructs the reduced graph for one foreign item.
fn build_reduced_graph_for_foreign_item(&mut self, item: &ForeignItem) { fn build_reduced_graph_for_foreign_item(&mut self, item: &ForeignItem) {
let (res, ns) = match item.node { let (res, ns) = match item.kind {
ForeignItemKind::Fn(..) => { ForeignItemKind::Fn(..) => {
(Res::Def(DefKind::Fn, self.r.definitions.local_def_id(item.id)), ValueNS) (Res::Def(DefKind::Fn, self.r.definitions.local_def_id(item.id)), ValueNS)
} }
...@@ -1169,7 +1169,7 @@ fn visit_stmt(&mut self, stmt: &'b ast::Stmt) { ...@@ -1169,7 +1169,7 @@ fn visit_stmt(&mut self, stmt: &'b ast::Stmt) {
} }
fn visit_foreign_item(&mut self, foreign_item: &'b ForeignItem) { fn visit_foreign_item(&mut self, foreign_item: &'b ForeignItem) {
if let ForeignItemKind::Macro(_) = foreign_item.node { if let ForeignItemKind::Macro(_) = foreign_item.kind {
self.visit_invoc(foreign_item.id); self.visit_invoc(foreign_item.id);
return; return;
} }
......
...@@ -406,7 +406,7 @@ fn visit_poly_trait_ref(&mut self, ...@@ -406,7 +406,7 @@ fn visit_poly_trait_ref(&mut self,
visit::walk_poly_trait_ref(self, tref, m); visit::walk_poly_trait_ref(self, tref, m);
} }
fn visit_foreign_item(&mut self, foreign_item: &'tcx ForeignItem) { fn visit_foreign_item(&mut self, foreign_item: &'tcx ForeignItem) {
let generic_params = match foreign_item.node { let generic_params = match foreign_item.kind {
ForeignItemKind::Fn(_, ref generics) => { ForeignItemKind::Fn(_, ref generics) => {
HasGenericParams(generics, ItemRibKind) HasGenericParams(generics, ItemRibKind)
} }
......
...@@ -1570,7 +1570,7 @@ fn visit_foreign_item(&mut self, item: &'l ast::ForeignItem) { ...@@ -1570,7 +1570,7 @@ fn visit_foreign_item(&mut self, item: &'l ast::ForeignItem) {
let hir_id = self.tcx.hir().node_to_hir_id(item.id); let hir_id = self.tcx.hir().node_to_hir_id(item.id);
let access = access_from!(self.save_ctxt, item, hir_id); let access = access_from!(self.save_ctxt, item, hir_id);
match item.node { match item.kind {
ast::ForeignItemKind::Fn(ref decl, ref generics) => { ast::ForeignItemKind::Fn(ref decl, ref generics) => {
if let Some(fn_data) = self.save_ctxt.get_extern_item_data(item) { if let Some(fn_data) = self.save_ctxt.get_extern_item_data(item) {
down_cast_data!(fn_data, DefData, item.span); down_cast_data!(fn_data, DefData, item.span);
......
...@@ -130,7 +130,7 @@ pub fn get_external_crates(&self) -> Vec<ExternalCrateData> { ...@@ -130,7 +130,7 @@ pub fn get_external_crates(&self) -> Vec<ExternalCrateData> {
pub fn get_extern_item_data(&self, item: &ast::ForeignItem) -> Option<Data> { pub fn get_extern_item_data(&self, item: &ast::ForeignItem) -> Option<Data> {
let qualname = format!("::{}", let qualname = format!("::{}",
self.tcx.def_path_str(self.tcx.hir().local_def_id_from_node_id(item.id))); self.tcx.def_path_str(self.tcx.hir().local_def_id_from_node_id(item.id)));
match item.node { match item.kind {
ast::ForeignItemKind::Fn(ref decl, ref generics) => { ast::ForeignItemKind::Fn(ref decl, ref generics) => {
filter!(self.span_utils, item.ident.span); filter!(self.span_utils, item.ident.span);
......
...@@ -765,7 +765,7 @@ fn make(&self, offset: usize, parent_id: Option<NodeId>, scx: &SaveContext<'_, ' ...@@ -765,7 +765,7 @@ fn make(&self, offset: usize, parent_id: Option<NodeId>, scx: &SaveContext<'_, '
impl Sig for ast::ForeignItem { impl Sig for ast::ForeignItem {
fn make(&self, offset: usize, _parent_id: Option<NodeId>, scx: &SaveContext<'_, '_>) -> Result { fn make(&self, offset: usize, _parent_id: Option<NodeId>, scx: &SaveContext<'_, '_>) -> Result {
let id = Some(self.id); let id = Some(self.id);
match self.node { match self.kind {
ast::ForeignItemKind::Fn(ref decl, ref generics) => { ast::ForeignItemKind::Fn(ref decl, ref generics) => {
let mut text = String::new(); let mut text = String::new();
text.push_str("fn "); text.push_str("fn ");
......
...@@ -212,7 +212,7 @@ enum NodeKind { ...@@ -212,7 +212,7 @@ enum NodeKind {
_ => NodeKind::Other, _ => NodeKind::Other,
} }
Node::ForeignItem(item) => match item.node { Node::ForeignItem(item) => match item.kind {
ForeignItemKind::Fn(..) => NodeKind::Fn, ForeignItemKind::Fn(..) => NodeKind::Fn,
_ => NodeKind::Other, _ => NodeKind::Other,
} }
......
...@@ -24,7 +24,7 @@ fn equate_intrinsic_type<'tcx>( ...@@ -24,7 +24,7 @@ fn equate_intrinsic_type<'tcx>(
) { ) {
let def_id = tcx.hir().local_def_id(it.hir_id); let def_id = tcx.hir().local_def_id(it.hir_id);
match it.node { match it.kind {
hir::ForeignItemKind::Fn(..) => {} hir::ForeignItemKind::Fn(..) => {}
_ => { _ => {
struct_span_err!(tcx.sess, it.span, E0622, struct_span_err!(tcx.sess, it.span, E0622,
...@@ -37,7 +37,7 @@ fn equate_intrinsic_type<'tcx>( ...@@ -37,7 +37,7 @@ fn equate_intrinsic_type<'tcx>(
let i_n_tps = tcx.generics_of(def_id).own_counts().types; let i_n_tps = tcx.generics_of(def_id).own_counts().types;
if i_n_tps != n_tps { if i_n_tps != n_tps {
let span = match it.node { let span = match it.kind {
hir::ForeignItemKind::Fn(_, _, ref generics) => generics.span, hir::ForeignItemKind::Fn(_, _, ref generics) => generics.span,
_ => bug!() _ => bug!()
}; };
......
...@@ -1588,7 +1588,7 @@ pub fn check_item_type<'tcx>(tcx: TyCtxt<'tcx>, it: &'tcx hir::Item) { ...@@ -1588,7 +1588,7 @@ pub fn check_item_type<'tcx>(tcx: TyCtxt<'tcx>, it: &'tcx hir::Item) {
).emit(); ).emit();
} }
if let hir::ForeignItemKind::Fn(ref fn_decl, _, _) = item.node { if let hir::ForeignItemKind::Fn(ref fn_decl, _, _) = item.kind {
require_c_abi_if_c_variadic(tcx, fn_decl, m.abi, item.span); require_c_abi_if_c_variadic(tcx, fn_decl, m.abi, item.span);
} }
} }
...@@ -4242,7 +4242,7 @@ fn suggest_fn_call( ...@@ -4242,7 +4242,7 @@ fn suggest_fn_call(
} }
} }
Some(Node::ForeignItem(hir::ForeignItem { Some(Node::ForeignItem(hir::ForeignItem {
node: hir::ForeignItemKind::Fn(_, idents, _), kind: hir::ForeignItemKind::Fn(_, idents, _),
.. ..
})) | })) |
Some(Node::TraitItem(hir::TraitItem { Some(Node::TraitItem(hir::TraitItem {
......
...@@ -128,7 +128,7 @@ pub fn check_item_well_formed(tcx: TyCtxt<'_>, def_id: DefId) { ...@@ -128,7 +128,7 @@ pub fn check_item_well_formed(tcx: TyCtxt<'_>, def_id: DefId) {
check_item_type(tcx, item.hir_id, ty.span, false); check_item_type(tcx, item.hir_id, ty.span, false);
} }
hir::ItemKind::ForeignMod(ref module) => for it in module.items.iter() { hir::ItemKind::ForeignMod(ref module) => for it in module.items.iter() {
if let hir::ForeignItemKind::Static(ref ty, ..) = it.node { if let hir::ForeignItemKind::Static(ref ty, ..) = it.kind {
check_item_type(tcx, it.hir_id, ty.span, true); check_item_type(tcx, it.hir_id, ty.span, true);
} }
}, },
......
...@@ -312,7 +312,7 @@ fn type_param_predicates( ...@@ -312,7 +312,7 @@ fn type_param_predicates(
} }
} }
Node::ForeignItem(item) => match item.node { Node::ForeignItem(item) => match item.kind {
ForeignItemKind::Fn(_, _, ref generics) => generics, ForeignItemKind::Fn(_, _, ref generics) => generics,
_ => return result, _ => return result,
}, },
...@@ -415,7 +415,7 @@ fn convert_item(tcx: TyCtxt<'_>, item_id: hir::HirId) { ...@@ -415,7 +415,7 @@ fn convert_item(tcx: TyCtxt<'_>, item_id: hir::HirId) {
tcx.generics_of(def_id); tcx.generics_of(def_id);
tcx.type_of(def_id); tcx.type_of(def_id);
tcx.predicates_of(def_id); tcx.predicates_of(def_id);
if let hir::ForeignItemKind::Fn(..) = item.node { if let hir::ForeignItemKind::Fn(..) = item.kind {
tcx.fn_sig(def_id); tcx.fn_sig(def_id);
} }
} }
...@@ -872,7 +872,7 @@ fn has_late_bound_regions<'tcx>( ...@@ -872,7 +872,7 @@ fn has_late_bound_regions<'tcx>(
} }
_ => None, _ => None,
}, },
Node::ForeignItem(item) => match item.node { Node::ForeignItem(item) => match item.kind {
hir::ForeignItemKind::Fn(ref fn_decl, _, ref generics) => { hir::ForeignItemKind::Fn(ref fn_decl, _, ref generics) => {
has_late_bound_regions(tcx, generics, fn_decl) has_late_bound_regions(tcx, generics, fn_decl)
} }
...@@ -977,7 +977,7 @@ fn generics_of(tcx: TyCtxt<'_>, def_id: DefId) -> &ty::Generics { ...@@ -977,7 +977,7 @@ fn generics_of(tcx: TyCtxt<'_>, def_id: DefId) -> &ty::Generics {
} }
} }
Node::ForeignItem(item) => match item.node { Node::ForeignItem(item) => match item.kind {
ForeignItemKind::Static(..) => &no_generics, ForeignItemKind::Static(..) => &no_generics,
ForeignItemKind::Fn(_, _, ref generics) => generics, ForeignItemKind::Fn(_, _, ref generics) => generics,
ForeignItemKind::Type => &no_generics, ForeignItemKind::Type => &no_generics,
...@@ -1331,7 +1331,7 @@ pub fn checked_type_of(tcx: TyCtxt<'_>, def_id: DefId, fail: bool) -> Option<Ty< ...@@ -1331,7 +1331,7 @@ pub fn checked_type_of(tcx: TyCtxt<'_>, def_id: DefId, fail: bool) -> Option<Ty<
} }
} }
Node::ForeignItem(foreign_item) => match foreign_item.node { Node::ForeignItem(foreign_item) => match foreign_item.kind {
ForeignItemKind::Fn(..) => { ForeignItemKind::Fn(..) => {
let substs = InternalSubsts::identity_for_item(tcx, def_id); let substs = InternalSubsts::identity_for_item(tcx, def_id);
tcx.mk_fn_def(def_id, substs) tcx.mk_fn_def(def_id, substs)
...@@ -1823,7 +1823,7 @@ fn fn_sig(tcx: TyCtxt<'_>, def_id: DefId) -> ty::PolyFnSig<'_> { ...@@ -1823,7 +1823,7 @@ fn fn_sig(tcx: TyCtxt<'_>, def_id: DefId) -> ty::PolyFnSig<'_> {
}, },
ForeignItem(&hir::ForeignItem { ForeignItem(&hir::ForeignItem {
node: ForeignItemKind::Fn(ref fn_decl, _, _), kind: ForeignItemKind::Fn(ref fn_decl, _, _),
.. ..
}) => { }) => {
let abi = tcx.hir().get_foreign_abi(hir_id); let abi = tcx.hir().get_foreign_abi(hir_id);
...@@ -2133,7 +2133,7 @@ fn extend<I: IntoIterator<Item = (ty::Predicate<'tcx>, Span)>>(&mut self, iter: ...@@ -2133,7 +2133,7 @@ fn extend<I: IntoIterator<Item = (ty::Predicate<'tcx>, Span)>>(&mut self, iter:
} }
} }
Node::ForeignItem(item) => match item.node { Node::ForeignItem(item) => match item.kind {
ForeignItemKind::Static(..) => NO_GENERICS, ForeignItemKind::Static(..) => NO_GENERICS,
ForeignItemKind::Fn(_, _, ref generics) => generics, ForeignItemKind::Fn(_, _, ref generics) => generics,
ForeignItemKind::Type => NO_GENERICS, ForeignItemKind::Type => NO_GENERICS,
...@@ -2420,7 +2420,7 @@ fn static_mutability(tcx: TyCtxt<'_>, def_id: DefId) -> Option<hir::Mutability> ...@@ -2420,7 +2420,7 @@ fn static_mutability(tcx: TyCtxt<'_>, def_id: DefId) -> Option<hir::Mutability>
kind: hir::ItemKind::Static(_, mutbl, _), .. kind: hir::ItemKind::Static(_, mutbl, _), ..
})) | })) |
Some(Node::ForeignItem( &hir::ForeignItem { Some(Node::ForeignItem( &hir::ForeignItem {
node: hir::ForeignItemKind::Static(_, mutbl), .. kind: hir::ForeignItemKind::Static(_, mutbl), ..
})) => Some(mutbl), })) => Some(mutbl),
Some(_) => None, Some(_) => None,
_ => bug!("static_mutability applied to non-local def-id {:?}", def_id), _ => bug!("static_mutability applied to non-local def-id {:?}", def_id),
......
...@@ -94,7 +94,7 @@ fn visit_item(&mut self, item: &hir::Item) { ...@@ -94,7 +94,7 @@ fn visit_item(&mut self, item: &hir::Item) {
hir::ItemKind::ForeignMod(ref foreign_mod) => { hir::ItemKind::ForeignMod(ref foreign_mod) => {
for foreign_item in &foreign_mod.items { for foreign_item in &foreign_mod.items {
if let hir::ForeignItemKind::Fn(..) = foreign_item.node { if let hir::ForeignItemKind::Fn(..) = foreign_item.kind {
self.visit_node_helper(foreign_item.hir_id); self.visit_node_helper(foreign_item.hir_id);
} }
} }
......
...@@ -70,7 +70,7 @@ fn variances_of(tcx: TyCtxt<'_>, item_def_id: DefId) -> &[ty::Variance] { ...@@ -70,7 +70,7 @@ fn variances_of(tcx: TyCtxt<'_>, item_def_id: DefId) -> &[ty::Variance] {
_ => unsupported() _ => unsupported()
}, },
Node::ForeignItem(item) => match item.node { Node::ForeignItem(item) => match item.kind {
hir::ForeignItemKind::Fn(..) => {} hir::ForeignItemKind::Fn(..) => {}
_ => unsupported() _ => unsupported()
......
...@@ -157,7 +157,7 @@ fn visit_item(&mut self, item: &hir::Item) { ...@@ -157,7 +157,7 @@ fn visit_item(&mut self, item: &hir::Item) {
hir::ItemKind::ForeignMod(ref foreign_mod) => { hir::ItemKind::ForeignMod(ref foreign_mod) => {
for foreign_item in &foreign_mod.items { for foreign_item in &foreign_mod.items {
if let hir::ForeignItemKind::Fn(..) = foreign_item.node { if let hir::ForeignItemKind::Fn(..) = foreign_item.kind {
self.add_inferreds_for_item(foreign_item.hir_id); self.add_inferreds_for_item(foreign_item.hir_id);
} }
} }
......
...@@ -561,7 +561,7 @@ fn visit_foreign_item(&mut self, item: &'tcx hir::ForeignItem, ...@@ -561,7 +561,7 @@ fn visit_foreign_item(&mut self, item: &'tcx hir::ForeignItem,
om.foreigns.push(ForeignItem { om.foreigns.push(ForeignItem {
id: item.hir_id, id: item.hir_id,
name: renamed.unwrap_or(item.ident).name, name: renamed.unwrap_or(item.ident).name,
kind: &item.node, kind: &item.kind,
vis: &item.vis, vis: &item.vis,
attrs: &item.attrs, attrs: &item.attrs,
whence: item.span whence: item.span
......
...@@ -2421,7 +2421,7 @@ pub fn descriptive_variant(&self) -> &str { ...@@ -2421,7 +2421,7 @@ pub fn descriptive_variant(&self) -> &str {
pub struct ForeignItem { pub struct ForeignItem {
pub ident: Ident, pub ident: Ident,
pub attrs: Vec<Attribute>, pub attrs: Vec<Attribute>,
pub node: ForeignItemKind, pub kind: ForeignItemKind,
pub id: NodeId, pub id: NodeId,
pub span: Span, pub span: Span,
pub vis: Visibility, pub vis: Visibility,
......
...@@ -1378,7 +1378,7 @@ fn flat_map_foreign_item(&mut self, mut foreign_item: ast::ForeignItem) ...@@ -1378,7 +1378,7 @@ fn flat_map_foreign_item(&mut self, mut foreign_item: ast::ForeignItem)
.make_foreign_items(); .make_foreign_items();
} }
if let ast::ForeignItemKind::Macro(mac) = foreign_item.node { if let ast::ForeignItemKind::Macro(mac) = foreign_item.kind {
self.check_attributes(&foreign_item.attrs); self.check_attributes(&foreign_item.attrs);
return self.collect_bang(mac, foreign_item.span, AstFragmentKind::ForeignItems) return self.collect_bang(mac, foreign_item.span, AstFragmentKind::ForeignItems)
.make_foreign_items(); .make_foreign_items();
......
...@@ -65,7 +65,7 @@ fn mac_placeholder() -> ast::Mac { ...@@ -65,7 +65,7 @@ fn mac_placeholder() -> ast::Mac {
AstFragmentKind::ForeignItems => AstFragmentKind::ForeignItems =>
AstFragment::ForeignItems(smallvec![ast::ForeignItem { AstFragment::ForeignItems(smallvec![ast::ForeignItem {
id, span, ident, vis, attrs, id, span, ident, vis, attrs,
node: ast::ForeignItemKind::Macro(mac_placeholder()), kind: ast::ForeignItemKind::Macro(mac_placeholder()),
}]), }]),
AstFragmentKind::Pat => AstFragment::Pat(P(ast::Pat { AstFragmentKind::Pat => AstFragment::Pat(P(ast::Pat {
id, span, kind: ast::PatKind::Mac(mac_placeholder()), id, span, kind: ast::PatKind::Mac(mac_placeholder()),
...@@ -275,7 +275,7 @@ fn flat_map_generic_param( ...@@ -275,7 +275,7 @@ fn flat_map_generic_param(
} }
fn flat_map_foreign_item(&mut self, item: ast::ForeignItem) -> SmallVec<[ast::ForeignItem; 1]> { fn flat_map_foreign_item(&mut self, item: ast::ForeignItem) -> SmallVec<[ast::ForeignItem; 1]> {
match item.node { match item.kind {
ast::ForeignItemKind::Macro(_) => self.remove(item.id).make_foreign_items(), ast::ForeignItemKind::Macro(_) => self.remove(item.id).make_foreign_items(),
_ => noop_flat_map_foreign_item(item, self), _ => noop_flat_map_foreign_item(item, self),
} }
......
...@@ -408,7 +408,7 @@ fn visit_item(&mut self, i: &'a ast::Item) { ...@@ -408,7 +408,7 @@ fn visit_item(&mut self, i: &'a ast::Item) {
} }
fn visit_foreign_item(&mut self, i: &'a ast::ForeignItem) { fn visit_foreign_item(&mut self, i: &'a ast::ForeignItem) {
match i.node { match i.kind {
ast::ForeignItemKind::Fn(..) | ast::ForeignItemKind::Fn(..) |
ast::ForeignItemKind::Static(..) => { ast::ForeignItemKind::Static(..) => {
let link_name = attr::first_attr_value_str_by_name(&i.attrs, sym::link_name); let link_name = attr::first_attr_value_str_by_name(&i.attrs, sym::link_name);
......
...@@ -1035,10 +1035,10 @@ pub fn noop_flat_map_item<T: MutVisitor>(mut item: P<Item>, visitor: &mut T) ...@@ -1035,10 +1035,10 @@ pub fn noop_flat_map_item<T: MutVisitor>(mut item: P<Item>, visitor: &mut T)
pub fn noop_flat_map_foreign_item<T: MutVisitor>(mut item: ForeignItem, visitor: &mut T) pub fn noop_flat_map_foreign_item<T: MutVisitor>(mut item: ForeignItem, visitor: &mut T)
-> SmallVec<[ForeignItem; 1]> -> SmallVec<[ForeignItem; 1]>
{ {
let ForeignItem { ident, attrs, node, id, span, vis } = &mut item; let ForeignItem { ident, attrs, kind, id, span, vis } = &mut item;
visitor.visit_ident(ident); visitor.visit_ident(ident);
visit_attrs(attrs, visitor); visit_attrs(attrs, visitor);
match node { match kind {
ForeignItemKind::Fn(fdec, generics) => { ForeignItemKind::Fn(fdec, generics) => {
visitor.visit_fn_decl(fdec); visitor.visit_fn_decl(fdec);
visitor.visit_generics(generics); visitor.visit_generics(generics);
......
...@@ -1383,7 +1383,7 @@ fn parse_item_foreign_mod( ...@@ -1383,7 +1383,7 @@ fn parse_item_foreign_mod(
id: DUMMY_NODE_ID, id: DUMMY_NODE_ID,
attrs, attrs,
vis: visibility, vis: visibility,
node: ForeignItemKind::Macro(mac), kind: ForeignItemKind::Macro(mac),
} }
) )
} }
...@@ -1415,7 +1415,7 @@ fn parse_item_foreign_fn( ...@@ -1415,7 +1415,7 @@ fn parse_item_foreign_fn(
Ok(ast::ForeignItem { Ok(ast::ForeignItem {
ident, ident,
attrs, attrs,
node: ForeignItemKind::Fn(decl, generics), kind: ForeignItemKind::Fn(decl, generics),
id: DUMMY_NODE_ID, id: DUMMY_NODE_ID,
span: lo.to(hi), span: lo.to(hi),
vis, vis,
...@@ -1435,7 +1435,7 @@ fn parse_item_foreign_static(&mut self, vis: ast::Visibility, lo: Span, attrs: V ...@@ -1435,7 +1435,7 @@ fn parse_item_foreign_static(&mut self, vis: ast::Visibility, lo: Span, attrs: V
Ok(ForeignItem { Ok(ForeignItem {
ident, ident,
attrs, attrs,
node: ForeignItemKind::Static(ty, mutbl), kind: ForeignItemKind::Static(ty, mutbl),
id: DUMMY_NODE_ID, id: DUMMY_NODE_ID,
span: lo.to(hi), span: lo.to(hi),
vis, vis,
...@@ -1453,7 +1453,7 @@ fn parse_item_foreign_type(&mut self, vis: ast::Visibility, lo: Span, attrs: Vec ...@@ -1453,7 +1453,7 @@ fn parse_item_foreign_type(&mut self, vis: ast::Visibility, lo: Span, attrs: Vec
Ok(ast::ForeignItem { Ok(ast::ForeignItem {
ident, ident,
attrs, attrs,
node: ForeignItemKind::Ty, kind: ForeignItemKind::Ty,
id: DUMMY_NODE_ID, id: DUMMY_NODE_ID,
span: lo.to(hi), span: lo.to(hi),
vis vis
......
...@@ -1060,7 +1060,7 @@ pub fn synth_comment(&mut self, text: String) { ...@@ -1060,7 +1060,7 @@ pub fn synth_comment(&mut self, text: String) {
self.hardbreak_if_not_bol(); self.hardbreak_if_not_bol();
self.maybe_print_comment(item.span.lo()); self.maybe_print_comment(item.span.lo());
self.print_outer_attributes(&item.attrs); self.print_outer_attributes(&item.attrs);
match item.node { match item.kind {
ast::ForeignItemKind::Fn(ref decl, ref generics) => { ast::ForeignItemKind::Fn(ref decl, ref generics) => {
self.head(""); self.head("");
self.print_fn(decl, ast::FnHeader::default(), self.print_fn(decl, ast::FnHeader::default(),
......
...@@ -486,7 +486,7 @@ pub fn walk_foreign_item<'a, V: Visitor<'a>>(visitor: &mut V, foreign_item: &'a ...@@ -486,7 +486,7 @@ pub fn walk_foreign_item<'a, V: Visitor<'a>>(visitor: &mut V, foreign_item: &'a
visitor.visit_vis(&foreign_item.vis); visitor.visit_vis(&foreign_item.vis);
visitor.visit_ident(foreign_item.ident); visitor.visit_ident(foreign_item.ident);
match foreign_item.node { match foreign_item.kind {
ForeignItemKind::Fn(ref function_declaration, ref generics) => { ForeignItemKind::Fn(ref function_declaration, ref generics) => {
walk_fn_decl(visitor, function_declaration); walk_fn_decl(visitor, function_declaration);
visitor.visit_generics(generics) visitor.visit_generics(generics)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册