Skip to main content

disassemble

Function disassemble 

Source
pub fn disassemble(module: &Module) -> String
Expand description

The module’s disassembly: a deterministic text listing of every table and every function, with branch targets as labels and names resolved in comments.

Never panics, including on unverified modules with out-of-range references (they print as <invalid>).

§Examples

use bytecode_lang::{disassemble, ModuleBuilder};

let mut m = ModuleBuilder::new();
let mut f = m.function("main", &[], &[]);
f.ret_void();
m.add_function(f).unwrap();
let text = disassemble(&m.finish().unwrap());
assert!(text.starts_with("lsb 2\n"));
assert!(text.contains("func f0 s0 \"main\" : t0"));
assert!(text.contains("  0000 ret_void"));