Struct parity_wasm::builder::ModuleBuilder [−][src]
Module builder
Implementations
impl ModuleBuilder
[src]
impl<F> ModuleBuilder<F> where
F: Invoke<Module>,
[src]
F: Invoke<Module>,
pub fn with_callback(callback: F) -> Self
[src]
New module builder with bound callback
pub fn with_module(self, module: Module) -> Self
[src]
Builder from raw module
pub fn with_sections<I>(self, sections: I) -> Self where
I: IntoIterator<Item = Section>,
[src]
I: IntoIterator<Item = Section>,
Fill module with sections from iterator
pub fn with_section(self, section: Section) -> Self
[src]
Add additional section
pub fn with_signatures(self, bindings: Vec<Signature>) -> Self
[src]
Binds to the type section, creates additional types when required
pub fn push_function(&mut self, func: FunctionDefinition) -> CodeLocation
[src]
Push stand-alone function definition, creating sections, signature and code blocks
in corresponding sections.
FunctionDefinition
can be build using builder::function
builder
pub fn push_memory(&mut self, memory: MemoryDefinition) -> u32
[src]
Push linear memory region
pub fn push_table(&mut self, table: TableDefinition) -> u32
[src]
Push table
pub fn push_signature(&mut self, signature: Signature) -> u32
[src]
Push one function signature, returning it’s calling index. Can create corresponding type in type section.
pub fn push_signatures(&mut self, signatures: Vec<Signature>) -> Vec<u32>
[src]
Push signatures in the module, returning corresponding indices of pushed signatures
pub fn push_import(&mut self, import: ImportEntry) -> u32
[src]
Push import entry to module. Note that this does not update calling indices in function bodies.
pub fn push_export(&mut self, export: ExportEntry) -> u32
[src]
Push export entry to module.
pub fn function(self) -> FunctionBuilder<Self>
[src]
Add new function using dedicated builder
pub fn memory(self) -> MemoryBuilder<Self>
[src]
Add new linear memory using dedicated builder
pub fn table(self) -> TableBuilder<Self>
[src]
Add new table using dedicated builder
pub fn functions(self) -> SignaturesBuilder<Self>
[src]
Define functions section
pub fn with_export(self, entry: ExportEntry) -> Self
[src]
With inserted export entry
pub fn with_import(self, entry: ImportEntry) -> Self
[src]
With inserted import entry
pub fn import(self) -> ImportBuilder<Self>
[src]
Import entry builder
Examples
use parity_wasm::builder::module; let module = module() .import() .module("env") .field("memory") .external().memory(256, Some(256)) .build() .build(); assert_eq!(module.import_section().expect("import section to exist").entries().len(), 1);
pub fn with_global(self, global: GlobalEntry) -> Self
[src]
With global variable
pub fn with_table(self, table: TableType) -> Self
[src]
With table
pub fn export(self) -> ExportBuilder<Self>
[src]
Export entry builder
Examples
use parity_wasm::builder::module; use parity_wasm::elements::Instruction::*; let module = module() .global() .value_type().i32() .init_expr(I32Const(0)) .build() .export() .field("_zero") .internal().global(0) .build() .build(); assert_eq!(module.export_section().expect("export section to exist").entries().len(), 1);
pub fn global(self) -> GlobalBuilder<Self>
[src]
Glboal entry builder
Examples
use parity_wasm::builder::module; use parity_wasm::elements::Instruction::*; let module = module() .global() .value_type().i32() .init_expr(I32Const(0)) .build() .build(); assert_eq!(module.global_section().expect("global section to exist").entries().len(), 1);
pub fn with_data_segment(self, segment: DataSegment) -> Self
[src]
Add data segment to the builder
pub fn data(self) -> DataSegmentBuilder<Self>
[src]
Data entry builder
pub fn build(self) -> F::Result
[src]
Build module (final step)
Auto Trait Implementations
impl<F> RefUnwindSafe for ModuleBuilder<F> where
F: RefUnwindSafe,
F: RefUnwindSafe,
impl<F> Send for ModuleBuilder<F> where
F: Send,
F: Send,
impl<F> Sync for ModuleBuilder<F> where
F: Sync,
F: Sync,
impl<F> Unpin for ModuleBuilder<F> where
F: Unpin,
F: Unpin,
impl<F> UnwindSafe for ModuleBuilder<F> where
F: UnwindSafe,
F: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,