function cleanInfo(info) { var ret = {}; for (var x in info) { if (x !== 'name' && x !== 'body' && x !== 'type') { ret[x] = info[x]; } } return ret; } var module = new binaryen.Module(); var func = module.addFunction("a-function", binaryen.none, binaryen.i32, [], module.i32.add( module.i32.const(1), module.i32.const(2) ) ); console.log("GetFunction is equal: " + (func === module.getFunction("a-function"))); module.runPassesOnFunction(func, ["precompute"]); var funcInfo = binaryen.getFunctionInfo(func); console.log("getFunctionInfo=" + JSON.stringify(cleanInfo(funcInfo))); var expInfo = binaryen.getExpressionInfo(funcInfo.body); console.log("getExpressionInfo(body)=" + JSON.stringify(cleanInfo(expInfo))); console.log(binaryen.emitText(funcInfo.body)); module.removeFunction("a-function"); assert(module.validate()); console.log(module.emitText());