summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/binaryen-c.cpp2
-rw-r--r--test/binaryen.js/kitchen-sink.js10
-rw-r--r--test/binaryen.js/kitchen-sink.js.txt2
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]}