Skip to main content

Generator

Trait Generator 

Source
pub trait Generator {
    // Required methods
    fn begin<R: RuntimeBinder>(
        &mut self,
        runtime_binder: &mut R,
        name: &str,
    ) -> Result<()>;
    fn end<R: RuntimeBinder>(
        &mut self,
        runtime_binder: &mut R,
        name: &str,
    ) -> Result<()>;
    fn generate_fn<R: RuntimeBinder>(
        &mut self,
        runtime_binder: &mut R,
        fn: &Function,
    ) -> Result<()>;
    fn generate_deploy<R: RuntimeBinder>(
        &mut self,
        runtime_binder: &mut R,
        contructor: &Constructor,
        deploy_bytes: &str,
    ) -> Result<()>;
    fn generate_event<R: RuntimeBinder>(
        &mut self,
        runtime_binder: &mut R,
        event: &Event,
    ) -> Result<()>;
    fn generate_error<R: RuntimeBinder>(
        &mut self,
        runtime_binder: &mut R,
        error: &Error,
    ) -> Result<()>;
    fn finalize<R: RuntimeBinder>(
        self,
        runtime_binder: &mut R,
    ) -> Result<Vec<Contract>>;
}
Expand description

Programming language code generator supported by Ethbind.

The implementation must support multi-round generation process.

Required Methods§

Source

fn begin<R: RuntimeBinder>( &mut self, runtime_binder: &mut R, name: &str, ) -> Result<()>

Generatable or Executor call this fn to start a new contract generation round.

Source

fn end<R: RuntimeBinder>( &mut self, runtime_binder: &mut R, name: &str, ) -> Result<()>

Close current generation contract round.

Source

fn generate_fn<R: RuntimeBinder>( &mut self, runtime_binder: &mut R, fn: &Function, ) -> Result<()>

Generate contract method ,call this fn after call begin at least once.

Source

fn generate_deploy<R: RuntimeBinder>( &mut self, runtime_binder: &mut R, contructor: &Constructor, deploy_bytes: &str, ) -> Result<()>

Generate contract deploy method ,call this fn after call begin at least once.

Source

fn generate_event<R: RuntimeBinder>( &mut self, runtime_binder: &mut R, event: &Event, ) -> Result<()>

Generate event handle interface ,call this fn after call begin at least once.

Source

fn generate_error<R: RuntimeBinder>( &mut self, runtime_binder: &mut R, error: &Error, ) -> Result<()>

Generate error handle interface ,call this fn after call begin at least once.

Source

fn finalize<R: RuntimeBinder>( self, runtime_binder: &mut R, ) -> Result<Vec<Contract>>

Close generator and return generated contract codes.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§