gesha_rust_types/
type_header.rs

1use crate::{DeriveAttribute, DocComments, SerdeAttribute, TypeIdentifier};
2
3#[derive(Clone, Debug, PartialEq)]
4pub struct TypeHeader {
5    pub name: TypeIdentifier,
6    pub derive_attrs: Vec<DeriveAttribute>,
7    pub serde_attrs: Vec<SerdeAttribute>,
8    pub doc_comments: Option<DocComments>,
9    _hide_default_constructor: bool,
10}
11
12impl TypeHeader {
13    pub fn new(
14        name: TypeIdentifier,
15        doc_comments: Option<DocComments>,
16        serde_attrs: Vec<SerdeAttribute>,
17        derive_attrs: Vec<DeriveAttribute>,
18    ) -> Self {
19        Self {
20            name,
21            derive_attrs,
22            serde_attrs,
23            doc_comments,
24            _hide_default_constructor: true,
25        }
26    }
27}