/// A single field of an enum variant or struct
#[derive(Debug, Clone, PartialEq, Eq)]
-pub struct StructField {
+pub struct StructFieldData {
pub(crate) name: Name,
pub(crate) type_ref: TypeRef,
}
/// Fields of an enum variant or struct
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum VariantData {
- Struct(Vec<StructField>),
- Tuple(Vec<StructField>),
+ Struct(Vec<StructFieldData>),
+ Tuple(Vec<StructFieldData>),
Unit,
}
impl VariantData {
- pub fn fields(&self) -> &[StructField] {
+ pub fn fields(&self) -> &[StructFieldData] {
match self {
VariantData::Struct(fields) | VariantData::Tuple(fields) => fields,
_ => &[],
let fields = fl
.fields()
.enumerate()
- .map(|(i, fd)| StructField {
+ .map(|(i, fd)| StructFieldData {
name: Name::tuple_field_name(i),
type_ref: TypeRef::from_ast_opt(fd.type_ref()),
})
StructFlavor::Named(fl) => {
let fields = fl
.fields()
- .map(|fd| StructField {
+ .map(|fd| StructFieldData {
name: fd.name().map(|n| n.as_name()).unwrap_or_else(Name::missing),
type_ref: TypeRef::from_ast_opt(fd.type_ref()),
})