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.

Implementors§