syntax/rustc_front: Simplify VariantData::fields

And use VariantData instead of P<VariantData> in Item_ and Variant_
This commit is contained in:
Vadim Petrochenkov 2015-10-25 18:33:51 +03:00
parent f68cd9aef1
commit e8ddbba2ed
24 changed files with 90 additions and 124 deletions

View file

@ -1809,7 +1809,7 @@ impl Clean<VariantStruct> for ::rustc_front::hir::VariantData {
fn clean(&self, cx: &DocContext) -> VariantStruct {
VariantStruct {
struct_type: doctree::struct_type_from_def(self),
fields: self.fields().map(|x| x.clean(cx)).collect(),
fields: self.fields().iter().map(|x| x.clean(cx)).collect(),
fields_stripped: false,
}
}
@ -1923,7 +1923,7 @@ fn struct_def_to_variant_kind(struct_def: &hir::VariantData, cx: &DocContext) ->
} else if struct_def.is_unit() {
CLikeVariant
} else {
TupleVariant(struct_def.fields().map(|x| x.node.ty.clean(cx)).collect())
TupleVariant(struct_def.fields().iter().map(|x| x.node.ty.clean(cx)).collect())
}
}

View file

@ -119,7 +119,7 @@ pub struct Enum {
pub struct Variant {
pub name: Name,
pub attrs: Vec<ast::Attribute>,
pub def: P<hir::VariantData>,
pub def: hir::VariantData,
pub stab: Option<attr::Stability>,
pub whence: Span,
}
@ -236,7 +236,7 @@ pub struct Import {
pub fn struct_type_from_def(sd: &hir::VariantData) -> StructType {
if !sd.is_struct() {
// We are in a tuple-struct
match sd.fields().count() {
match sd.fields().len() {
0 => Unit,
1 => Newtype,
_ => Tuple

View file

@ -97,7 +97,7 @@ impl<'a, 'tcx> RustdocVisitor<'a, 'tcx> {
stab: self.stability(item.id),
attrs: item.attrs.clone(),
generics: generics.clone(),
fields: sd.fields().cloned().collect(),
fields: sd.fields().iter().cloned().collect(),
whence: item.span
}
}
@ -298,7 +298,7 @@ impl<'a, 'tcx> RustdocVisitor<'a, 'tcx> {
hir::ItemEnum(ref ed, ref gen) =>
om.enums.push(self.visit_enum_def(item, name, ed, gen)),
hir::ItemStruct(ref sd, ref gen) =>
om.structs.push(self.visit_variant_data(item, name, &**sd, gen)),
om.structs.push(self.visit_variant_data(item, name, sd, gen)),
hir::ItemFn(ref fd, ref unsafety, constness, ref abi, ref gen, _) =>
om.fns.push(self.visit_fn(item, name, &**fd, unsafety,
constness, abi, gen)),