[−][src]Trait sourcegen_cli::SourceGenerator
Trait to be implemented by source generators.
Provided methods
fn generate_struct(
&self,
_args: AttributeArgs,
_item: &ItemStruct
) -> Result<Option<TokenStream>, Error>
&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>
&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>
&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>
&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>
&self,
_args: AttributeArgs,
_file: &File
) -> Result<Option<TokenStream>, Error>
Generate the whole file. Return None
if no changes are necessary.