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

Programming language code generator supported by Ethbind.

The implementation must support multi-round generation process.

Required Methods§

source

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

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

source

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

Close current generation contract round.

source

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

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

source

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

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

source

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

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

source

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

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

source

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

Close generator and return generated contract codes.

Implementors§