Trait PitPluginPlugin
Source pub trait PitPluginPlugin {
// Required methods
fn choose_type(
&self,
opts: &Opts<Module<'static>>,
) -> Result<Option<TokenStream>>;
fn emit_method(
&self,
opts: &Opts<Module<'static>>,
idx: usize,
i: &Interface,
s: &str,
value: TokenStream,
params: &[TokenStream],
) -> Result<TokenStream>;
fn post(
&self,
parent: &PitPlugin,
idx: usize,
opts: &Opts<Module<'static>>,
) -> Result<TokenStream>;
// Provided methods
fn pre(
&self,
pit: &PitPlugin,
module: &mut Opts<Module<'static>>,
) -> Result<()> { ... }
fn emit_drop(
&self,
opts: &Opts<Module<'static>>,
idx: usize,
value: TokenStream,
) -> Result<TokenStream> { ... }
}