diff options
-rw-r--r-- | src/binaryen-c.cpp | 2 | ||||
-rw-r--r-- | test/binaryen.js/kitchen-sink.js | 10 | ||||
-rw-r--r-- | test/binaryen.js/kitchen-sink.js.txt | 2 |
3 files changed, 13 insertions, 1 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 6bb6f6e14..117177fae 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -2151,7 +2151,7 @@ BinaryenExpressionRef BinaryenHostGetOperand(BinaryenExpressionRef expr, } auto* expression = (Expression*)expr; - assert(expression->is<Call>()); + assert(expression->is<Host>()); assert(index < static_cast<Host*>(expression)->operands.size()); return static_cast<Host*>(expression)->operands[index]; } diff --git a/test/binaryen.js/kitchen-sink.js b/test/binaryen.js/kitchen-sink.js index 54fa9abd8..4e40adb17 100644 --- a/test/binaryen.js/kitchen-sink.js +++ b/test/binaryen.js/kitchen-sink.js @@ -941,6 +941,15 @@ function test_for_each() { module.dispose(); } +function test_expression_info() { + module = new Binaryen.Module(); + + // Issue #2392 + console.log("getExpressionInfo(memory.grow)=" + JSON.stringify(Binaryen.getExpressionInfo(module.memory.grow(1)))); + + module.dispose(); +} + function main() { test_types(); test_features(); @@ -954,6 +963,7 @@ function main() { test_parsing(); test_internals(); test_for_each(); + test_expression_info(); } main(); diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt index ea2ff9d0c..1e6a9df92 100644 --- a/test/binaryen.js/kitchen-sink.js.txt +++ b/test/binaryen.js/kitchen-sink.js.txt @@ -9719,3 +9719,5 @@ sizeof Literal: 24 (nop) ) ) + +getExpressionInfo(memory.grow)={"id":20,"type":1,"op":1,"nameOperand":"","operands":[1]} |