[][src]Trait sourcegen_cli::SourceGenerator

pub trait SourceGenerator {
    fn generate_struct(
        &self,
        _args: AttributeArgs,
        _item: &ItemStruct
    ) -> Result<Option<TokenStream>, Error> { ... }
fn generate_enum(
        &self,
        _args: AttributeArgs,
        _item: &ItemEnum
    ) -> Result<Option<TokenStream>, Error> { ... }
fn generate_trait(
        &self,
        _args: AttributeArgs,
        _item: &ItemTrait
    ) -> Result<Option<TokenStream>, Error> { ... }
fn generate_mod(
        &self,
        _args: AttributeArgs,
        _item: &ItemMod
    ) -> Result<Option<TokenStream>, Error> { ... }
fn generate_file(
        &self,
        _args: AttributeArgs,
        _file: &File
    ) -> Result<Option<TokenStream>, Error> { ... } }

Trait to be implemented by source generators.

Provided methods

fn generate_struct(
    &self,
    _args: AttributeArgs,
    _item: &ItemStruct
) -> Result<Option<TokenStream>, Error>

Generate struct definition. Return None if no changes are necessary.

fn generate_enum(
    &self,
    _args: AttributeArgs,
    _item: &ItemEnum
) -> Result<Option<TokenStream>, Error>

Generate enum definition. Return None if no changes are necessary.

fn generate_trait(
    &self,
    _args: AttributeArgs,
    _item: &ItemTrait
) -> Result<Option<TokenStream>, Error>

Generate trait definition. Return None if no changes are necessary.

fn generate_mod(
    &self,
    _args: AttributeArgs,
    _item: &ItemMod
) -> Result<Option<TokenStream>, Error>

Generate module. Return None if no changes are necessary.

fn generate_file(
    &self,
    _args: AttributeArgs,
    _file: &File
) -> Result<Option<TokenStream>, Error>

Generate the whole file. Return None if no changes are necessary.

Loading content...

Implementors

Loading content...