pub struct Wasm2Wat { /* private fields */ }Expand description
A builder for converting wasm binary to wasm text format.
§Examples
extern crate wabt;
use wabt::Wasm2Wat;
fn main() {
let wasm_text = Wasm2Wat::new()
.fold_exprs(true)
.inline_export(true)
.convert(
&[
0, 97, 115, 109, // \0ASM - magic
1, 0, 0, 0 // 0x01 - version
]
).unwrap();
}Implementations§
Source§impl Wasm2Wat
impl Wasm2Wat
Sourcepub fn features(&mut self, features: Features) -> &mut Wasm2Wat
pub fn features(&mut self, features: Features) -> &mut Wasm2Wat
Support for pre-standard features.
Sourcepub fn read_debug_names(&mut self, read_debug_names: bool) -> &mut Wasm2Wat
pub fn read_debug_names(&mut self, read_debug_names: bool) -> &mut Wasm2Wat
Read debug names in the binary file.
false by default.
Sourcepub fn fold_exprs(&mut self, fold_exprs: bool) -> &mut Wasm2Wat
pub fn fold_exprs(&mut self, fold_exprs: bool) -> &mut Wasm2Wat
Write folded expressions where possible.
Example of folded code (if true):
(module
(func (param i32 i32) (result i32)
(i32.add ;; Add loaded arguments
(get_local 0) ;; Load first arg
(get_local 1) ;; Load second arg
)
)
)Example of straight code (if false):
(module
(func (param i32 i32) (result i32)
get_local 0 ;; Load first arg
get_local 1 ;; Load second arg
i32.add ;; Add loaded arguments
)
)false by default.
Sourcepub fn inline_export(&mut self, inline_export: bool) -> &mut Wasm2Wat
pub fn inline_export(&mut self, inline_export: bool) -> &mut Wasm2Wat
Write all exports inline.
Example of code with inline exports (if true):
(module
(func $addTwo (export "addTwo") (param $p0 i32) (param $p1 i32) (result i32)
(i32.add
(get_local $p0)
(get_local $p1))))Example of code with separate exports (if false):
(module
(func $addTwo (param $p0 i32) (param $p1 i32) (result i32)
(i32.add
(get_local $p0)
(get_local $p1)))
(export "addTwo" (func $addTwo)))false by default.
Auto Trait Implementations§
impl Freeze for Wasm2Wat
impl RefUnwindSafe for Wasm2Wat
impl !Send for Wasm2Wat
impl !Sync for Wasm2Wat
impl Unpin for Wasm2Wat
impl UnwindSafe for Wasm2Wat
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more