| var wast = ` | |
| (module $hel | |
| (memory $lo 0 0) | |
| (table $wor 0 0 funcref) | |
| (global $ld i32 (i32.const 0)) | |
| (func $of (param $wasm i32) | |
| (local $!#$%&'*+-./:<=>?@\\^_\`|~ f64) | |
| ) | |
| ) | |
| `; | |
| console.log("=== input wast ===" + wast); | |
| var module = binaryen.parseText(wast); | |
| console.log("=== parsed wast ===\n" + module.emitText()); | |
| var func = binaryen.Function(module.getFunction("of")); | |
| assert(func.numLocals === 2); | |
| assert(func.hasLocalName(0) === true); | |
| assert(func.getLocalName(0) === "wasm"); | |
| assert(func.hasLocalName(1) === true); | |
| assert(func.getLocalName(1) === "!#$%&'*+-./:<=>?@\\^_\`|~"); | |
| assert(func.hasLocalName(2) === false); | |
| func.setLocalName(0, "js"); | |
| assert(func.getLocalName(0) === "js"); | |
| binaryen.setDebugInfo(true); | |
| var module2 = binaryen.readBinary(module.emitBinary()); | |
| module.dispose(); | |
| console.log("=== roundtripped ===\n" + module2.emitText()); | |
| var module3 = binaryen.readBinary(module2.emitBinary()); | |
| module2.dispose(); | |
| console.log("=== roundtripped again ===\n" + module3.emitText()); | |
| module3.dispose(); |