diff options
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ast.rs | 1 | ||||
| -rw-r--r-- | src/libsyntax/ast_util.rs | 8 | ||||
| -rw-r--r-- | src/libsyntax/config.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/ext/build.rs | 1 | ||||
| -rw-r--r-- | src/libsyntax/fold.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 1 | ||||
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 1 | ||||
| -rw-r--r-- | src/libsyntax/visit.rs | 27 |
8 files changed, 16 insertions, 29 deletions
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index 66c0d858e3c..53246963dc8 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -1586,7 +1586,6 @@ pub struct Variant_ { pub name: Ident, pub attrs: Vec<Attribute>, pub def: P<StructDef>, - pub id: NodeId, /// Explicit discriminant, eg `Foo = 1` pub disr_expr: Option<P<Expr>>, } diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index 87f05f7f41e..592770ea482 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -360,11 +360,6 @@ impl<'a, 'v, O: IdVisitingOperation> Visitor<'v> for IdVisitor<'a, O> { } } } - ItemEnum(ref enum_definition, _) => { - for variant in &enum_definition.variants { - self.operation.visit_id(variant.node.id) - } - } _ => {} } @@ -461,8 +456,7 @@ impl<'a, 'v, O: IdVisitingOperation> Visitor<'v> for IdVisitor<'a, O> { struct_def: &StructDef, _: ast::Ident, _: &ast::Generics, - id: NodeId) { - self.operation.visit_id(id); + _: NodeId) { self.operation.visit_id(struct_def.id); visit::walk_struct_def(self, struct_def); } diff --git a/src/libsyntax/config.rs b/src/libsyntax/config.rs index d47072d477e..744f83467d6 100644 --- a/src/libsyntax/config.rs +++ b/src/libsyntax/config.rs @@ -140,11 +140,10 @@ fn fold_item_underscore<F>(cx: &mut Context<F>, item: ast::Item_) -> ast::Item_ if !(cx.in_cfg)(&v.node.attrs) { None } else { - Some(v.map(|Spanned {node: ast::Variant_ {id, name, attrs, def, + Some(v.map(|Spanned {node: ast::Variant_ {name, attrs, def, disr_expr}, span}| { Spanned { node: ast::Variant_ { - id: id, name: name, attrs: attrs, def: fold_struct(cx, def), diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs index 132ab6e67fe..706a16d1f02 100644 --- a/src/libsyntax/ext/build.rs +++ b/src/libsyntax/ext/build.rs @@ -1011,7 +1011,6 @@ impl<'a> AstBuilder for ExtCtxt<'a> { def: P(ast::StructDef { fields: fields, id: ast::DUMMY_NODE_ID, kind: kind }), - id: ast::DUMMY_NODE_ID, disr_expr: None, }) } diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs index 8156ef20faf..7da09f51883 100644 --- a/src/libsyntax/fold.rs +++ b/src/libsyntax/fold.rs @@ -450,9 +450,8 @@ pub fn noop_fold_foreign_mod<T: Folder>(ForeignMod {abi, items}: ForeignMod, } pub fn noop_fold_variant<T: Folder>(v: P<Variant>, fld: &mut T) -> P<Variant> { - v.map(|Spanned {node: Variant_ {id, name, attrs, def, disr_expr}, span}| Spanned { + v.map(|Spanned {node: Variant_ {name, attrs, def, disr_expr}, span}| Spanned { node: Variant_ { - id: fld.new_id(id), name: name, attrs: fold_attrs(attrs, fld), def: fld.fold_struct_def(def), diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 1b446fb9902..09ca20653ed 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -5176,7 +5176,6 @@ impl<'a> Parser<'a> { name: ident, attrs: variant_attrs, def: struct_def, - id: ast::DUMMY_NODE_ID, disr_expr: disr_expr, }; variants.push(P(spanned(vlo, self.last_span.hi, vr))); diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 2d6829c5e75..5535064c8ec 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -3122,7 +3122,6 @@ mod tests { def: P(ast::StructDef { fields: Vec::new(), id: ast::DUMMY_NODE_ID, kind: ast::VariantKind::Unit }), - id: 0, disr_expr: None, }); diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs index fe64f87e681..6dc59b390f6 100644 --- a/src/libsyntax/visit.rs +++ b/src/libsyntax/visit.rs @@ -85,12 +85,12 @@ pub trait Visitor<'v> : Sized { } fn visit_struct_field(&mut self, s: &'v StructField) { walk_struct_field(self, s) } fn visit_enum_def(&mut self, enum_definition: &'v EnumDef, - generics: &'v Generics) { - walk_enum_def(self, enum_definition, generics) + generics: &'v Generics, item_id: NodeId) { + walk_enum_def(self, enum_definition, generics, item_id) + } + fn visit_variant(&mut self, v: &'v Variant, g: &'v Generics, item_id: NodeId) { + walk_variant(self, v, g, item_id) } - - fn visit_variant(&mut self, v: &'v Variant, g: &'v Generics) { walk_variant(self, v, g) } - fn visit_lifetime(&mut self, lifetime: &'v Lifetime) { walk_lifetime(self, lifetime) } @@ -271,7 +271,7 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item) { } ItemEnum(ref enum_definition, ref type_parameters) => { visitor.visit_generics(type_parameters); - visitor.visit_enum_def(enum_definition, type_parameters) + visitor.visit_enum_def(enum_definition, type_parameters, item.id) } ItemDefaultImpl(_, ref trait_ref) => { visitor.visit_trait_ref(trait_ref) @@ -288,10 +288,7 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item) { } ItemStruct(ref struct_definition, ref generics) => { visitor.visit_generics(generics); - visitor.visit_struct_def(struct_definition, - item.ident, - generics, - item.id) + visitor.visit_struct_def(struct_definition, item.ident, generics, item.id); } ItemTrait(_, ref generics, ref bounds, ref methods) => { visitor.visit_generics(generics); @@ -305,17 +302,19 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item) { pub fn walk_enum_def<'v, V: Visitor<'v>>(visitor: &mut V, enum_definition: &'v EnumDef, - generics: &'v Generics) { + generics: &'v Generics, + item_id: NodeId) { for variant in &enum_definition.variants { - visitor.visit_variant(variant, generics); + visitor.visit_variant(variant, generics, item_id); } } pub fn walk_variant<'v, V: Visitor<'v>>(visitor: &mut V, variant: &'v Variant, - generics: &'v Generics) { + generics: &'v Generics, + item_id: NodeId) { visitor.visit_ident(variant.span, variant.node.name); - visitor.visit_struct_def(&variant.node.def, variant.node.name, generics, variant.node.id); + visitor.visit_struct_def(&variant.node.def, variant.node.name, generics, item_id); walk_list!(visitor, visit_expr, &variant.node.disr_expr); walk_list!(visitor, visit_attribute, &variant.node.attrs); } |
