pub struct TypeStructParsed {
    pub item: ItemStruct,
    pub item_name: Ident,
    pub fields: Fields,
}
Expand description

Represents the outcome of parsing a Rust struct definition.

This structure encapsulates details extracted from a structure definition, such as the structure itself, its name, and its fields. It provides a comprehensive view of a parsed structure, facilitating further processing or analysis of its components.

Fields§

§item: ItemStruct

The parsed structure item, encompassing the entire struct.

§item_name: Ident

Identifier of the struct, useful for referencing in generated code.

§fields: Fields

Collection of struct’s fields, including visibility, attributes, and types.

Implementations§

source§

impl TypeStructParsed

source

pub fn fields_many(&self) -> Vec<&Field>

Returns a vector of the struct’s fields for iteration.

source

pub fn field_types<'a>(&'a self) -> Vec<&'a Type>

Extracts the types of each field into a vector.

source

pub fn field_names(&self) -> Option<Vec<Ident>>

Retrieves the names of each field, if they exist.

source

pub fn first_field_type(&self) -> Result<Type>

Retrieves the type of the first field of the struct.

Returns the type if the struct has at least one field, otherwise returns an error.

source

pub fn first_field_name(&self) -> Result<Option<Ident>>

Retrieves the name of the first field of the struct, if available.

Returns Some with the field identifier for named fields, or None for unnamed fields. Returns an error if the struct has no fields

Trait Implementations§

source§

impl Debug for TypeStructParsed

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Parse for TypeStructParsed

source§

fn parse(input: ParseStream<'_>) -> Result<Self>

source§

impl ToTokens for TypeStructParsed

source§

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream. Read more
source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
source§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Spanned for T
where T: Spanned + ?Sized,

source§

fn span(&self) -> Span

Returns a Span covering the complete contents of this syntax tree node, or Span::call_site() if this node is empty.
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.