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§

source

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.

Implementors§