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)>;
}