diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2016-02-27 11:34:29 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2016-03-02 10:32:04 +0300 |
| commit | 9047b201bf7b106203080c8a3993b5b8d921a133 (patch) | |
| tree | f2418224e7c951dc98075991c2e10ebe44b743ea /src/librustc_front | |
| parent | 8b026a6e48ceadb2032b4982077fcdfab802cde5 (diff) | |
| download | rust-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.rs | 17 | ||||
| -rw-r--r-- | src/librustc_front/hir.rs | 7 | ||||
| -rw-r--r-- | src/librustc_front/intravisit.rs | 6 | ||||
| -rw-r--r-- | src/librustc_front/lowering.rs | 16 | ||||
| -rw-r--r-- | src/librustc_front/print/pprust.rs | 12 | ||||
| -rw-r--r-- | src/librustc_front/util.rs | 2 |
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) } |
