pub trait Generator {
Show 22 methods
// Required methods
fn type_record(
&mut self,
iface: &Interface,
id: TypeId,
name: &str,
record: &Record,
docs: &Docs
);
fn type_flags(
&mut self,
iface: &Interface,
id: TypeId,
name: &str,
flags: &Flags,
docs: &Docs
);
fn type_tuple(
&mut self,
iface: &Interface,
id: TypeId,
name: &str,
flags: &Tuple,
docs: &Docs
);
fn type_variant(
&mut self,
iface: &Interface,
id: TypeId,
name: &str,
variant: &Variant,
docs: &Docs
);
fn type_option(
&mut self,
iface: &Interface,
id: TypeId,
name: &str,
payload: &Type,
docs: &Docs
);
fn type_expected(
&mut self,
iface: &Interface,
id: TypeId,
name: &str,
expected: &Expected,
docs: &Docs
);
fn type_union(
&mut self,
iface: &Interface,
id: TypeId,
name: &str,
union: &Union,
docs: &Docs
);
fn type_enum(
&mut self,
iface: &Interface,
id: TypeId,
name: &str,
enum_: &Enum,
docs: &Docs
);
fn type_resource(&mut self, iface: &Interface, ty: ResourceId);
fn type_alias(
&mut self,
iface: &Interface,
id: TypeId,
name: &str,
ty: &Type,
docs: &Docs
);
fn type_list(
&mut self,
iface: &Interface,
id: TypeId,
name: &str,
ty: &Type,
docs: &Docs
);
fn type_builtin(
&mut self,
iface: &Interface,
id: TypeId,
name: &str,
ty: &Type,
docs: &Docs
);
fn import(&mut self, iface: &Interface, func: &Function);
fn export(&mut self, iface: &Interface, func: &Function);
fn finish_one(&mut self, iface: &Interface, files: &mut Files);
// Provided methods
fn preprocess_all(&mut self, imports: &[Interface], exports: &[Interface]) { ... }
fn preprocess_one(&mut self, iface: &Interface, dir: Direction) { ... }
fn preprocess_functions(&mut self, iface: &Interface, dir: Direction) { ... }
fn finish_functions(&mut self, iface: &Interface, dir: Direction) { ... }
fn finish_all(&mut self, files: &mut Files) { ... }
fn generate_one(
&mut self,
iface: &Interface,
dir: Direction,
files: &mut Files
) { ... }
fn generate_all(
&mut self,
imports: &[Interface],
exports: &[Interface],
files: &mut Files
) { ... }
}