wars

Trait Plugin

Source
pub trait Plugin {
    // Required methods
    fn pre(&self, module: &mut Opts<Module<'static>>) -> Result<()>;
    fn import(
        &self,
        opts: &Opts<Module<'static>>,
        module: &str,
        name: &str,
        params: Vec<TokenStream>,
    ) -> Result<Option<TokenStream>>;
    fn post(&self, opts: &Opts<Module<'static>>) -> Result<TokenStream>;

    // Provided methods
    fn mem_import(
        &self,
        opts: &Opts<Module<'static>>,
        module: &str,
        name: &str,
    ) -> Result<Option<MemImport>> { ... }
    fn bounds(
        &self,
        opts: &Opts<Module<'static>>,
    ) -> Result<Option<TokenStream>> { ... }
    fn exref_bounds(
        &self,
        opts: &Opts<Module<'static>>,
    ) -> Result<Option<TokenStream>> { ... }
}

Required Methods§

Source

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

Source

fn import( &self, opts: &Opts<Module<'static>>, module: &str, name: &str, params: Vec<TokenStream>, ) -> Result<Option<TokenStream>>

Source

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

Provided Methods§

Source

fn mem_import( &self, opts: &Opts<Module<'static>>, module: &str, name: &str, ) -> Result<Option<MemImport>>

Source

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

Source

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

Implementors§