Lang

Trait Lang 

Source
pub trait Lang {
    // Required methods
    fn table_filename(&self, module: &ModuleDef, table: &TableDef) -> String;
    fn type_filename(&self, type_name: &ScopedTypeName) -> String;
    fn reducer_filename(&self, reducer_name: &Identifier) -> String;
    fn generate_table(&self, module: &ModuleDef, tbl: &TableDef) -> String;
    fn generate_type(&self, module: &ModuleDef, typ: &TypeDef) -> String;
    fn generate_reducer(
        &self,
        module: &ModuleDef,
        reducer: &ReducerDef,
    ) -> String;
    fn generate_globals(&self, module: &ModuleDef) -> Vec<(String, String)>;
}

Required Methods§

Source

fn table_filename(&self, module: &ModuleDef, table: &TableDef) -> String

Source

fn type_filename(&self, type_name: &ScopedTypeName) -> String

Source

fn reducer_filename(&self, reducer_name: &Identifier) -> String

Source

fn generate_table(&self, module: &ModuleDef, tbl: &TableDef) -> String

Source

fn generate_type(&self, module: &ModuleDef, typ: &TypeDef) -> String

Source

fn generate_reducer(&self, module: &ModuleDef, reducer: &ReducerDef) -> String

Source

fn generate_globals(&self, module: &ModuleDef) -> Vec<(String, String)>

Implementors§