about summary refs log tree commit diff
path: root/src/librustc_front
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2016-02-27 11:34:29 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2016-03-02 10:32:04 +0300
commit9047b201bf7b106203080c8a3993b5b8d921a133 (patch)
treef2418224e7c951dc98075991c2e10ebe44b743ea /src/librustc_front
parent8b026a6e48ceadb2032b4982077fcdfab802cde5 (diff)
downloadrust-9047b201bf7b106203080c8a3993b5b8d921a133.tar.gz
rust-9047b201bf7b106203080c8a3993b5b8d921a133.zip
Move span into `StructField`
+ some cleanup in rustdoc
Diffstat (limited to 'src/librustc_front')
-rw-r--r--src/librustc_front/fold.rs17
-rw-r--r--src/librustc_front/hir.rs7
-rw-r--r--src/librustc_front/intravisit.rs6
-rw-r--r--src/librustc_front/lowering.rs16
-rw-r--r--src/librustc_front/print/pprust.rs12
-rw-r--r--src/librustc_front/util.rs2
6 files changed, 27 insertions, 33 deletions
diff --git a/src/librustc_front/fold.rs b/src/librustc_front/fold.rs
index 28f88da907e..75a1363fcf9 100644
--- a/src/librustc_front/fold.rs
+++ b/src/librustc_front/fold.rs
@@ -700,16 +700,13 @@ pub fn noop_fold_poly_trait_ref<T: Folder>(p: PolyTraitRef, fld: &mut T) -> Poly
 }
 
 pub fn noop_fold_struct_field<T: Folder>(f: StructField, fld: &mut T) -> StructField {
-    let StructField {node: StructField_ {id, name, vis, ty, attrs}, span} = f;
-    Spanned {
-        node: StructField_ {
-            id: fld.new_id(id),
-            name: name,
-            vis: vis,
-            ty: fld.fold_ty(ty),
-            attrs: fold_attrs(attrs, fld),
-        },
-        span: fld.new_span(span),
+    StructField {
+        span: fld.new_span(f.span),
+        id: fld.new_id(f.id),
+        name: f.name,
+        vis: f.vis,
+        ty: fld.fold_ty(f.ty),
+        attrs: fold_attrs(f.attrs, fld),
     }
 }
 
diff --git a/src/librustc_front/hir.rs b/src/librustc_front/hir.rs
index e161dfa25ef..cc562b0f7b2 100644
--- a/src/librustc_front/hir.rs
+++ b/src/librustc_front/hir.rs
@@ -1241,7 +1241,8 @@ impl Visibility {
 }
 
 #[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug)]
-pub struct StructField_ {
+pub struct StructField {
+    pub span: Span,
     pub name: Name,
     pub vis: Visibility,
     pub id: NodeId,
@@ -1249,9 +1250,7 @@ pub struct StructField_ {
     pub attrs: HirVec<Attribute>,
 }
 
-pub type StructField = Spanned<StructField_>;
-
-impl StructField_ {
+impl StructField {
     // Still necessary in couple of places
     pub fn is_positional(&self) -> bool {
         let first = self.name.as_str().as_bytes()[0];
diff --git a/src/librustc_front/intravisit.rs b/src/librustc_front/intravisit.rs
index 51cb1cec07b..e6f448654ac 100644
--- a/src/librustc_front/intravisit.rs
+++ b/src/librustc_front/intravisit.rs
@@ -669,9 +669,9 @@ pub fn walk_struct_def<'v, V: Visitor<'v>>(visitor: &mut V, struct_definition: &
 }
 
 pub fn walk_struct_field<'v, V: Visitor<'v>>(visitor: &mut V, struct_field: &'v StructField) {
-    visitor.visit_name(struct_field.span, struct_field.node.name);
-    visitor.visit_ty(&struct_field.node.ty);
-    walk_list!(visitor, visit_attribute, &struct_field.node.attrs);
+    visitor.visit_name(struct_field.span, struct_field.name);
+    visitor.visit_ty(&struct_field.ty);
+    walk_list!(visitor, visit_attribute, &struct_field.attrs);
 }
 
 pub fn walk_block<'v, V: Visitor<'v>>(visitor: &mut V, block: &'v Block) {
diff --git a/src/librustc_front/lowering.rs b/src/librustc_front/lowering.rs
index ee46687b0bc..1bfcb298586 100644
--- a/src/librustc_front/lowering.rs
+++ b/src/librustc_front/lowering.rs
@@ -612,16 +612,14 @@ pub fn lower_poly_trait_ref(lctx: &LoweringContext, p: &PolyTraitRef) -> hir::Po
 pub fn lower_struct_field(lctx: &LoweringContext,
                           (index, f): (usize, &StructField))
                           -> hir::StructField {
-    Spanned {
-        node: hir::StructField_ {
-            id: f.node.id,
-            name: f.node.ident().map(|ident| ident.name)
-                                .unwrap_or(token::intern(&index.to_string())),
-            vis: lower_visibility(lctx, f.node.kind.visibility()),
-            ty: lower_ty(lctx, &f.node.ty),
-            attrs: lower_attrs(lctx, &f.node.attrs),
-        },
+    hir::StructField {
         span: f.span,
+        id: f.node.id,
+        name: f.node.ident().map(|ident| ident.name)
+                            .unwrap_or(token::intern(&index.to_string())),
+        vis: lower_visibility(lctx, f.node.kind.visibility()),
+        ty: lower_ty(lctx, &f.node.ty),
+        attrs: lower_attrs(lctx, &f.node.attrs),
     }
 }
 
diff --git a/src/librustc_front/print/pprust.rs b/src/librustc_front/print/pprust.rs
index 4aaca6b521c..49fbcea3dbf 100644
--- a/src/librustc_front/print/pprust.rs
+++ b/src/librustc_front/print/pprust.rs
@@ -915,9 +915,9 @@ impl<'a> State<'a> {
             if struct_def.is_tuple() {
                 try!(self.popen());
                 try!(self.commasep(Inconsistent, struct_def.fields(), |s, field| {
-                    try!(s.print_visibility(field.node.vis));
+                    try!(s.print_visibility(field.vis));
                     try!(s.maybe_print_comment(field.span.lo));
-                    s.print_type(&field.node.ty)
+                    s.print_type(&field.ty)
                 }));
                 try!(self.pclose());
             }
@@ -936,11 +936,11 @@ impl<'a> State<'a> {
             for field in struct_def.fields() {
                 try!(self.hardbreak_if_not_bol());
                 try!(self.maybe_print_comment(field.span.lo));
-                try!(self.print_outer_attributes(&field.node.attrs));
-                try!(self.print_visibility(field.node.vis));
-                try!(self.print_name(field.node.name));
+                try!(self.print_outer_attributes(&field.attrs));
+                try!(self.print_visibility(field.vis));
+                try!(self.print_name(field.name));
                 try!(self.word_nbsp(":"));
-                try!(self.print_type(&field.node.ty));
+                try!(self.print_type(&field.ty));
                 try!(word(&mut self.s, ","));
             }
 
diff --git a/src/librustc_front/util.rs b/src/librustc_front/util.rs
index 8140ea1f167..2c86c713b1b 100644
--- a/src/librustc_front/util.rs
+++ b/src/librustc_front/util.rs
@@ -271,7 +271,7 @@ impl<'a, 'v, O: ast_util::IdVisitingOperation> Visitor<'v> for IdVisitor<'a, O>
     }
 
     fn visit_struct_field(&mut self, struct_field: &StructField) {
-        self.operation.visit_id(struct_field.node.id);
+        self.operation.visit_id(struct_field.id);
         intravisit::walk_struct_field(self, struct_field)
     }