PitPluginPlugin

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> { ... }
}

Required Methods§

Source

fn choose_type( &self, opts: &Opts<Module<'static>>, ) -> Result<Option<TokenStream>>

Source

fn emit_method( &self, opts: &Opts<Module<'static>>, idx: usize, i: &Interface, s: &str, value: TokenStream, params: &[TokenStream], ) -> Result<TokenStream>

Source

fn post( &self, parent: &PitPlugin, idx: usize, opts: &Opts<Module<'static>>, ) -> Result<TokenStream>

Provided Methods§

Source

fn pre(&self, pit: &PitPlugin, module: &mut Opts<Module<'static>>) -> Result<()>

Source

fn emit_drop( &self, opts: &Opts<Module<'static>>, idx: usize, value: TokenStream, ) -> Result<TokenStream>

Implementors§