Skip to content

Commit 877c35e

Browse files
committed
Remove now redundant NodeId from Variant
1 parent 495566e commit 877c35e

File tree

31 files changed

+88
-111
lines changed

31 files changed

+88
-111
lines changed

src/librustc/front/map/collector.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ impl<'ast> Visitor<'ast> for NodeCollector<'ast> {
134134
ItemEnum(ref enum_definition, _) => {
135135
for v in &enum_definition.variants {
136136
let variant_def_index =
137-
self.insert_def(v.node.id,
137+
self.insert_def(v.node.def.id,
138138
NodeVariant(&**v),
139139
DefPathData::EnumVariant(v.node.name));
140140

src/librustc/lint/context.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -665,10 +665,10 @@ impl<'a, 'tcx, 'v> hir_visit::Visitor<'v> for LateContext<'a, 'tcx> {
665665
s: &hir::StructDef,
666666
name: ast::Name,
667667
g: &hir::Generics,
668-
id: ast::NodeId) {
669-
run_lints!(self, check_struct_def, late_passes, s, name, g, id);
668+
item_id: ast::NodeId) {
669+
run_lints!(self, check_struct_def, late_passes, s, name, g, item_id);
670670
hir_visit::walk_struct_def(self, s);
671-
run_lints!(self, check_struct_def_post, late_passes, s, name, g, id);
671+
run_lints!(self, check_struct_def_post, late_passes, s, name, g, item_id);
672672
}
673673

674674
fn visit_struct_field(&mut self, s: &hir::StructField) {
@@ -678,10 +678,10 @@ impl<'a, 'tcx, 'v> hir_visit::Visitor<'v> for LateContext<'a, 'tcx> {
678678
})
679679
}
680680

681-
fn visit_variant(&mut self, v: &hir::Variant, g: &hir::Generics) {
681+
fn visit_variant(&mut self, v: &hir::Variant, g: &hir::Generics, item_id: ast::NodeId) {
682682
self.with_lint_attrs(&v.node.attrs, |cx| {
683683
run_lints!(cx, check_variant, late_passes, v, g);
684-
hir_visit::walk_variant(cx, v, g);
684+
hir_visit::walk_variant(cx, v, g, item_id);
685685
run_lints!(cx, check_variant_post, late_passes, v, g);
686686
})
687687
}
@@ -814,10 +814,10 @@ impl<'a, 'v> ast_visit::Visitor<'v> for EarlyContext<'a> {
814814
s: &ast::StructDef,
815815
ident: ast::Ident,
816816
g: &ast::Generics,
817-
id: ast::NodeId) {
818-
run_lints!(self, check_struct_def, early_passes, s, ident, g, id);
817+
item_id: ast::NodeId) {
818+
run_lints!(self, check_struct_def, early_passes, s, ident, g, item_id);
819819
ast_visit::walk_struct_def(self, s);
820-
run_lints!(self, check_struct_def_post, early_passes, s, ident, g, id);
820+
run_lints!(self, check_struct_def_post, early_passes, s, ident, g, item_id);
821821
}
822822

823823
fn visit_struct_field(&mut self, s: &ast::StructField) {
@@ -827,10 +827,10 @@ impl<'a, 'v> ast_visit::Visitor<'v> for EarlyContext<'a> {
827827
})
828828
}
829829

830-
fn visit_variant(&mut self, v: &ast::Variant, g: &ast::Generics) {
830+
fn visit_variant(&mut self, v: &ast::Variant, g: &ast::Generics, item_id: ast::NodeId) {
831831
self.with_lint_attrs(&v.node.attrs, |cx| {
832832
run_lints!(cx, check_variant, early_passes, v, g);
833-
ast_visit::walk_variant(cx, v, g);
833+
ast_visit::walk_variant(cx, v, g, item_id);
834834
run_lints!(cx, check_variant_post, early_passes, v, g);
835835
})
836836
}

src/librustc/metadata/encoder.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1019,7 +1019,7 @@ fn encode_info_for_item<'a, 'tcx>(ecx: &EncodeContext<'a, 'tcx>,
10191019
encode_attributes(rbml_w, &item.attrs);
10201020
encode_repr_attrs(rbml_w, ecx, &item.attrs);
10211021
for v in &enum_definition.variants {
1022-
encode_variant_id(rbml_w, ecx.tcx.map.local_def_id(v.node.id));
1022+
encode_variant_id(rbml_w, ecx.tcx.map.local_def_id(v.node.def.id));
10231023
}
10241024
encode_inlined_item(ecx, rbml_w, InlinedItemRef::Item(item));
10251025
encode_path(rbml_w, path);

src/librustc/middle/check_static_recursion.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ impl<'a, 'ast: 'a> Visitor<'ast> for CheckCrateVisitor<'a, 'ast> {
5454
let mut recursion_visitor =
5555
CheckItemRecursionVisitor::new(self, &variant.span);
5656
recursion_visitor.populate_enum_discriminants(enum_def);
57-
recursion_visitor.visit_variant(variant, generics);
57+
recursion_visitor.visit_variant(variant, generics, it.id);
5858
}
5959
}
6060
}
@@ -168,7 +168,7 @@ impl<'a, 'ast: 'a> CheckItemRecursionVisitor<'a, 'ast> {
168168
let mut discriminant_map = self.discriminant_map.borrow_mut();
169169
match enum_definition.variants.first() {
170170
None => { return; }
171-
Some(variant) if discriminant_map.contains_key(&variant.node.id) => {
171+
Some(variant) if discriminant_map.contains_key(&variant.node.def.id) => {
172172
return;
173173
}
174174
_ => {}
@@ -177,7 +177,7 @@ impl<'a, 'ast: 'a> CheckItemRecursionVisitor<'a, 'ast> {
177177
// Go through all the variants.
178178
let mut variant_stack: Vec<ast::NodeId> = Vec::new();
179179
for variant in enum_definition.variants.iter().rev() {
180-
variant_stack.push(variant.node.id);
180+
variant_stack.push(variant.node.def.id);
181181
// When we find an expression, every variant currently on the stack
182182
// is affected by that expression.
183183
if let Some(ref expr) = variant.node.disr_expr {
@@ -201,14 +201,14 @@ impl<'a, 'ast: 'a> Visitor<'ast> for CheckItemRecursionVisitor<'a, 'ast> {
201201
}
202202

203203
fn visit_enum_def(&mut self, enum_definition: &'ast hir::EnumDef,
204-
generics: &'ast hir::Generics) {
204+
generics: &'ast hir::Generics, item_id: ast::NodeId) {
205205
self.populate_enum_discriminants(enum_definition);
206-
visit::walk_enum_def(self, enum_definition, generics);
206+
visit::walk_enum_def(self, enum_definition, generics, item_id);
207207
}
208208

209209
fn visit_variant(&mut self, variant: &'ast hir::Variant,
210-
_: &'ast hir::Generics) {
211-
let variant_id = variant.node.id;
210+
_: &'ast hir::Generics, _: ast::NodeId) {
211+
let variant_id = variant.node.def.id;
212212
let maybe_expr;
213213
if let Some(get_expr) = self.discriminant_map.borrow().get(&variant_id) {
214214
// This is necessary because we need to let the `discriminant_map`
@@ -269,9 +269,10 @@ impl<'a, 'ast: 'a> Visitor<'ast> for CheckItemRecursionVisitor<'a, 'ast> {
269269
self.ast_map.expect_item(enum_node_id).node
270270
{
271271
self.populate_enum_discriminants(enum_def);
272+
let enum_id = self.ast_map.as_local_node_id(enum_id).unwrap();
272273
let variant_id = self.ast_map.as_local_node_id(variant_id).unwrap();
273274
let variant = self.ast_map.expect_variant(variant_id);
274-
self.visit_variant(variant, generics);
275+
self.visit_variant(variant, generics, enum_id);
275276
} else {
276277
self.sess.span_bug(e.span,
277278
"`check_static_recursion` found \

src/librustc/middle/const_eval.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ fn lookup_variant_by_id<'a>(tcx: &'a ty::ctxt,
6363
fn variant_expr<'a>(variants: &'a [P<hir::Variant>], id: ast::NodeId)
6464
-> Option<&'a Expr> {
6565
for variant in variants {
66-
if variant.node.id == id {
66+
if variant.node.def.id == id {
6767
return variant.node.disr_expr.as_ref().map(|e| &**e);
6868
}
6969
}

src/librustc/middle/dead.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ impl<'v> Visitor<'v> for LifeSeeder {
339339
}
340340
match item.node {
341341
hir::ItemEnum(ref enum_def, _) if allow_dead_code => {
342-
self.worklist.extend(enum_def.variants.iter().map(|variant| variant.node.id));
342+
self.worklist.extend(enum_def.variants.iter().map(|variant| variant.node.def.id));
343343
}
344344
hir::ItemTrait(_, _, _, ref trait_items) => {
345345
for trait_item in trait_items {
@@ -466,7 +466,7 @@ impl<'a, 'tcx> DeadVisitor<'a, 'tcx> {
466466
}
467467

468468
fn should_warn_about_variant(&mut self, variant: &hir::Variant_) -> bool {
469-
!self.symbol_is_live(variant.id, None)
469+
!self.symbol_is_live(variant.def.id, None)
470470
&& !has_allow_dead_code_or_lang_attr(&variant.attrs)
471471
}
472472

@@ -542,7 +542,7 @@ impl<'a, 'tcx, 'v> Visitor<'v> for DeadVisitor<'a, 'tcx> {
542542
hir::ItemEnum(ref enum_def, _) => {
543543
for variant in &enum_def.variants {
544544
if self.should_warn_about_variant(&variant.node) {
545-
self.warn_dead_code(variant.node.id, variant.span,
545+
self.warn_dead_code(variant.node.def.id, variant.span,
546546
variant.node.name, "variant");
547547
}
548548
}

src/librustc/middle/stability.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -207,9 +207,9 @@ impl<'a, 'tcx, 'v> Visitor<'v> for Annotator<'a, 'tcx> {
207207
|v| visit::walk_impl_item(v, ii), true);
208208
}
209209

210-
fn visit_variant(&mut self, var: &Variant, g: &'v Generics) {
211-
self.annotate(var.node.id, true, &var.node.attrs, var.span,
212-
|v| visit::walk_variant(v, var, g), true)
210+
fn visit_variant(&mut self, var: &Variant, g: &'v Generics, item_id: NodeId) {
211+
self.annotate(var.node.def.id, true, &var.node.attrs, var.span,
212+
|v| visit::walk_variant(v, var, g, item_id), true)
213213
}
214214

215215
fn visit_struct_field(&mut self, s: &StructField) {

src/librustc_back/svh.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -301,18 +301,17 @@ mod svh_visitor {
301301
}
302302

303303
impl<'a, 'v> Visitor<'v> for StrictVersionHashVisitor<'a> {
304-
fn visit_struct_def(&mut self, s: &StructDef, name: Name,
305-
g: &Generics, _: NodeId) {
304+
fn visit_struct_def(&mut self, s: &StructDef, name: Name, g: &Generics, _: NodeId) {
306305
SawStructDef(name.as_str()).hash(self.st);
307306
visit::walk_generics(self, g);
308307
visit::walk_struct_def(self, s)
309308
}
310309

311-
fn visit_variant(&mut self, v: &Variant, g: &Generics) {
310+
fn visit_variant(&mut self, v: &Variant, g: &Generics, item_id: NodeId) {
312311
SawVariant.hash(self.st);
313312
// walk_variant does not call walk_generics, so do it here.
314313
visit::walk_generics(self, g);
315-
visit::walk_variant(self, v, g)
314+
visit::walk_variant(self, v, g, item_id)
316315
}
317316

318317
// All of the remaining methods just record (in the hash

src/librustc_front/fold.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -435,9 +435,8 @@ pub fn noop_fold_foreign_mod<T: Folder>(ForeignMod { abi, items }: ForeignMod,
435435
}
436436

437437
pub fn noop_fold_variant<T: Folder>(v: P<Variant>, fld: &mut T) -> P<Variant> {
438-
v.map(|Spanned {node: Variant_ {id, name, attrs, def, disr_expr}, span}| Spanned {
438+
v.map(|Spanned {node: Variant_ {name, attrs, def, disr_expr}, span}| Spanned {
439439
node: Variant_ {
440-
id: fld.new_id(id),
441440
name: name,
442441
attrs: fold_attrs(attrs, fld),
443442
def: fld.fold_struct_def(def),

src/librustc_front/hir.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1030,7 +1030,6 @@ pub struct Variant_ {
10301030
pub name: Name,
10311031
pub attrs: Vec<Attribute>,
10321032
pub def: P<StructDef>,
1033-
pub id: NodeId,
10341033
/// Explicit discriminant, eg `Foo = 1`
10351034
pub disr_expr: Option<P<Expr>>,
10361035
}

0 commit comments

Comments
 (0)