pub trait ScalaGenerator<'model, 'opt>: Generator<'model> + GeneratorWithFile {
// Required methods
fn options(&self) -> &'opt ScalaOptions;
fn referenced_types(&self) -> ReferencedTypeIterator<'model>;
// Provided methods
fn scala_package(
&self,
package: &PackageName,
) -> Result<&'opt PackageName, GeneratorError> { ... }
fn write_package(
&mut self,
package: &PackageName,
) -> Result<(), GeneratorError> { ... }
fn write_qual_name(
&mut self,
name: &QualifiedName,
) -> Result<(), GeneratorError> { ... }
fn write_type_args(
&mut self,
args: &Vec<LangType<'model>>,
) -> Result<(), GeneratorError> { ... }
fn write_type(&mut self, t: &LangType<'model>) -> Result<(), GeneratorError> { ... }
fn write_args(
&mut self,
args: &Vec<LangExpr<'model>>,
) -> Result<(), GeneratorError> { ... }
fn write_operation_name(
&mut self,
op: &Operation,
) -> Result<(), GeneratorError> { ... }
fn write_expr(
&mut self,
expr: &LangExpr<'model>,
) -> Result<(), GeneratorError> { ... }
}
Required Methods§
fn options(&self) -> &'opt ScalaOptions
fn referenced_types(&self) -> ReferencedTypeIterator<'model>
Provided Methods§
fn scala_package( &self, package: &PackageName, ) -> Result<&'opt PackageName, GeneratorError>
fn write_package(&mut self, package: &PackageName) -> Result<(), GeneratorError>
fn write_qual_name( &mut self, name: &QualifiedName, ) -> Result<(), GeneratorError>
fn write_type_args( &mut self, args: &Vec<LangType<'model>>, ) -> Result<(), GeneratorError>
fn write_type(&mut self, t: &LangType<'model>) -> Result<(), GeneratorError>
fn write_args( &mut self, args: &Vec<LangExpr<'model>>, ) -> Result<(), GeneratorError>
fn write_operation_name(&mut self, op: &Operation) -> Result<(), GeneratorError>
fn write_expr(&mut self, expr: &LangExpr<'model>) -> Result<(), GeneratorError>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.