Trait cairo_lang_defs::plugin::MacroPlugin
source · pub trait MacroPlugin: Debug + Sync + Send {
// Required method
fn generate_code(
&self,
db: &dyn SyntaxGroup,
item_ast: Item
) -> PluginResult;
}
Expand description
A trait for a macro plugin: external plugin that generates additional code for items.
Required Methods§
sourcefn generate_code(&self, db: &dyn SyntaxGroup, item_ast: Item) -> PluginResult
fn generate_code(&self, db: &dyn SyntaxGroup, item_ast: Item) -> PluginResult
Generates code for an item. If no code should be generated returns None. Otherwise, returns (virtual_module_name, module_content), and a virtual submodule with that name and content should be created.