From 69e9b69416f190e2652c9731625c9314f2bd088c Mon Sep 17 00:00:00 2001 From: Sven SAULEAU Date: Tue, 8 May 2018 20:28:06 +0200 Subject: [PATCH 1/4] fix: re-enable test --- .../wasm-parser/test/fixtures/module/name/actual.wat-failure | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 packages/wasm-parser/test/fixtures/module/name/actual.wat-failure diff --git a/packages/wasm-parser/test/fixtures/module/name/actual.wat-failure b/packages/wasm-parser/test/fixtures/module/name/actual.wat-failure deleted file mode 100644 index 6dd56d21f..000000000 --- a/packages/wasm-parser/test/fixtures/module/name/actual.wat-failure +++ /dev/null @@ -1,2 +0,0 @@ -;; binaryen doesn't include it -(module $a) From c068216011a277d17c1f93768a10775759c49279 Mon Sep 17 00:00:00 2001 From: Sven SAULEAU Date: Tue, 8 May 2018 20:30:15 +0200 Subject: [PATCH 2/4] fix: add test --- packages/wasm-parser/test/fixtures/module/name/actual.wat | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 packages/wasm-parser/test/fixtures/module/name/actual.wat diff --git a/packages/wasm-parser/test/fixtures/module/name/actual.wat b/packages/wasm-parser/test/fixtures/module/name/actual.wat new file mode 100644 index 000000000..6dd56d21f --- /dev/null +++ b/packages/wasm-parser/test/fixtures/module/name/actual.wat @@ -0,0 +1,2 @@ +;; binaryen doesn't include it +(module $a) From 1d348f0672b9aee71411dad47a74ab9a553e529d Mon Sep 17 00:00:00 2001 From: Sven SAULEAU Date: Mon, 23 Jul 2018 08:51:11 +0200 Subject: [PATCH 3/4] fix: renenable module name parsing --- packages/wasm-parser/src/decoder.js | 36 +++++++++++------------------ 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/packages/wasm-parser/src/decoder.js b/packages/wasm-parser/src/decoder.js index bf0242bc6..0fa2811a6 100644 --- a/packages/wasm-parser/src/decoder.js +++ b/packages/wasm-parser/src/decoder.js @@ -1101,23 +1101,21 @@ export function decode(ab: ArrayBuffer, opts: DecoderOpts): Program { return t.globalType(type, globalType); } - // function parseNameModule() { - // const lenu32 = readVaruint32(); - // eatBytes(lenu32.nextIndex); - - // console.log("len", lenu32); + function parseNameModule() { + const lenu32 = readVaruint32(); + eatBytes(lenu32.nextIndex); - // const strlen = lenu32.value; + const strlen = lenu32.value; - // dump([strlen], "string length"); + dump([strlen], "string length"); - // const bytes = readBytes(strlen); - // eatBytes(strlen); + const bytes = readBytes(strlen); + eatBytes(strlen); - // const value = utf8.decode(bytes); + const value = utf8.decode(bytes); - // return [t.moduleNameMetadata(value)]; - // } + return [t.moduleNameMetadata(value)]; + } // this section contains an array of function names and indices function parseNameSectionFunctions() { @@ -1189,16 +1187,10 @@ export function decode(ab: ArrayBuffer, opts: DecoderOpts): Program { eatBytes(subSectionSizeInBytesu32.nextIndex); switch (sectionTypeByte.value) { - // case 0: { - // TODO(sven): re-enable that - // Current status: it seems that when we decode the module's name - // no name_payload_len is used. - // - // See https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md#name-section - // - // nameMetadata.push(...parseNameModule()); - // break; - // } + case 0: { + nameMetadata.push(...parseNameModule()); + break; + } case 1: { nameMetadata.push(...parseNameSectionFunctions()); break; From 055a63b3ae82d2c061f5b7304ef55772360ae3a4 Mon Sep 17 00:00:00 2001 From: Sven SAULEAU Date: Mon, 23 Jul 2018 08:51:22 +0200 Subject: [PATCH 4/4] feat: tests ignore LeadingComment too --- packages/wasm-parser/test/index.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/wasm-parser/test/index.js b/packages/wasm-parser/test/index.js index 3c495986a..a100f9b04 100644 --- a/packages/wasm-parser/test/index.js +++ b/packages/wasm-parser/test/index.js @@ -31,8 +31,14 @@ function stripMetadata(ast) { delete node.loc; }, + // wasm doesn't have comments BlockComment(path) { path.remove(); + }, + + // wasm doesn't have comments + LeadingComment(path) { + path.remove(); } });