pub trait WorldGenerator {
// Required methods
fn import_interface(
&mut self,
resolve: &Resolve,
name: &WorldKey,
iface: InterfaceId,
files: &mut Files,
) -> Result<()>;
fn export_interface(
&mut self,
resolve: &Resolve,
name: &WorldKey,
iface: InterfaceId,
files: &mut Files,
) -> Result<()>;
fn import_funcs(
&mut self,
resolve: &Resolve,
world: WorldId,
funcs: &[(&str, &Function)],
files: &mut Files,
);
fn export_funcs(
&mut self,
resolve: &Resolve,
world: WorldId,
funcs: &[(&str, &Function)],
files: &mut Files,
) -> Result<()>;
fn import_types(
&mut self,
resolve: &Resolve,
world: WorldId,
types: &[(&str, TypeId)],
files: &mut Files,
);
fn finish(
&mut self,
resolve: &Resolve,
world: WorldId,
files: &mut Files,
) -> Result<()>;
// Provided methods
fn generate(
&mut self,
resolve: &mut Resolve,
id: WorldId,
files: &mut Files,
) -> Result<()> { ... }
fn uses_nominal_type_ids(&self) -> bool { ... }
fn finish_imports(
&mut self,
resolve: &Resolve,
world: WorldId,
files: &mut Files,
) { ... }
fn preprocess(&mut self, resolve: &Resolve, world: WorldId) { ... }
fn pre_export_interface(
&mut self,
resolve: &Resolve,
files: &mut Files,
) -> Result<()> { ... }
}Required Methods§
fn import_interface( &mut self, resolve: &Resolve, name: &WorldKey, iface: InterfaceId, files: &mut Files, ) -> Result<()>
fn export_interface( &mut self, resolve: &Resolve, name: &WorldKey, iface: InterfaceId, files: &mut Files, ) -> Result<()>
fn import_funcs( &mut self, resolve: &Resolve, world: WorldId, funcs: &[(&str, &Function)], files: &mut Files, )
fn export_funcs( &mut self, resolve: &Resolve, world: WorldId, funcs: &[(&str, &Function)], files: &mut Files, ) -> Result<()>
fn import_types( &mut self, resolve: &Resolve, world: WorldId, types: &[(&str, TypeId)], files: &mut Files, )
fn finish( &mut self, resolve: &Resolve, world: WorldId, files: &mut Files, ) -> Result<()>
Provided Methods§
fn generate( &mut self, resolve: &mut Resolve, id: WorldId, files: &mut Files, ) -> Result<()>
Sourcefn uses_nominal_type_ids(&self) -> bool
fn uses_nominal_type_ids(&self) -> bool
Whether or not this bindings generator expects
Resolve::generate_nominal_type_ids to be used before generating
bindings.