summaryrefslogtreecommitdiff
path: root/src/binaryen-c.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/binaryen-c.cpp')
-rw-r--r--src/binaryen-c.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index 907dbbb8b..49817974a 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -1283,9 +1283,10 @@ BinaryenExpressionRef BinaryenRefAs(BinaryenModuleRef module,
BinaryenExpressionRef
BinaryenRefFunc(BinaryenModuleRef module, const char* func, BinaryenType type) {
+ // TODO: consider changing the C API to receive a heap type
Type type_(type);
return static_cast<Expression*>(
- Builder(*(Module*)module).makeRefFunc(func, type_));
+ Builder(*(Module*)module).makeRefFunc(func, type_.getHeapType()));
}
BinaryenExpressionRef BinaryenRefEq(BinaryenModuleRef module,
@@ -3485,9 +3486,8 @@ BinaryenAddActiveElementSegment(BinaryenModuleRef module,
if (func == nullptr) {
Fatal() << "invalid function '" << funcNames[i] << "'.";
}
- Type type(HeapType(func->sig), Nullable);
segment->data.push_back(
- Builder(*(Module*)module).makeRefFunc(funcNames[i], type));
+ Builder(*(Module*)module).makeRefFunc(funcNames[i], func->sig));
}
return ((Module*)module)->addElementSegment(std::move(segment));
}
@@ -3503,9 +3503,8 @@ BinaryenAddPassiveElementSegment(BinaryenModuleRef module,
if (func == nullptr) {
Fatal() << "invalid function '" << funcNames[i] << "'.";
}
- Type type(HeapType(func->sig), Nullable);
segment->data.push_back(
- Builder(*(Module*)module).makeRefFunc(funcNames[i], type));
+ Builder(*(Module*)module).makeRefFunc(funcNames[i], func->sig));
}
return ((Module*)module)->addElementSegment(std::move(segment));
}