diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index 103fd6d76db..c97a08642b9 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -3382,20 +3382,13 @@ Module['readBinaryWithFeatures'] = function(data, features) { return wrapModule(ptr); }; -// Parses text format to a module -Module['parseText'] = function(text) { +// Parses text format to a module with the given feature set enabled. +Module['parseText'] = function(text, features) { const buffer = _malloc(text.length + 1); stringToAscii(text, buffer); - const ptr = handleFatalError(() => Module['_BinaryenModuleParse'](buffer)); - _free(buffer); - return wrapModule(ptr); -}; - -// Parses text format to a module with the given feature set enabled -Module['parseTextWithFeatures'] = function(text, features) { - const buffer = _malloc(text.length + 1); - stringToAscii(text, buffer); - const ptr = handleFatalError(() => Module['_BinaryenModuleParseWithFeatures'](buffer, features)); + const ptr = features === undefined + ? handleFatalError(() => Module['_BinaryenModuleParse'](buffer)) + : handleFatalError(() => Module['_BinaryenModuleParseWithFeatures'](buffer, features)); _free(buffer); return wrapModule(ptr); }; diff --git a/test/binaryen.js/kitchen-sink.js b/test/binaryen.js/kitchen-sink.js index 6f8a48d7491..6baea5157fd 100644 --- a/test/binaryen.js/kitchen-sink.js +++ b/test/binaryen.js/kitchen-sink.js @@ -1135,14 +1135,14 @@ function test_parsing_with_features() { (global $g anyref (ref.null any)) )`; - module = binaryen.parseTextWithFeatures(text, binaryen.Features.All); + module = binaryen.parseText(text, binaryen.Features.All); assert(module.validate()); console.log("module loaded from text form with features:"); console.log(module.emitText()); module.dispose(); // parse with MVP features, which should fail - module = binaryen.parseTextWithFeatures(text, binaryen.Features.MVP); + module = binaryen.parseText(text, binaryen.Features.MVP); console.log("validation with MVP features: " + module.validate()); module.dispose(); }