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.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index ef6c3abdd..49f453715 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -1305,6 +1305,12 @@ BinaryenExpressionRef BinaryenTableSet(BinaryenModuleRef module,
.makeTableSet(name, (Expression*)index, (Expression*)value));
}
+BinaryenExpressionRef BinaryenTableSize(BinaryenModuleRef module,
+ const char* name) {
+ return static_cast<Expression*>(
+ Builder(*(Module*)module).makeTableSize(name));
+}
+
BinaryenExpressionRef BinaryenTry(BinaryenModuleRef module,
const char* name,
BinaryenExpressionRef body,
@@ -1950,6 +1956,18 @@ void BinaryenTableSetSetValue(BinaryenExpressionRef expr,
assert(valueExpr);
static_cast<TableSet*>(expression)->value = (Expression*)valueExpr;
}
+// TableSize
+const char* BinaryenTableSizeGetTable(BinaryenExpressionRef expr) {
+ auto* expression = (Expression*)expr;
+ assert(expression->is<TableSize>());
+ return static_cast<TableSize*>(expression)->table.c_str();
+}
+void BinaryenTableSetSizeTable(BinaryenExpressionRef expr, const char* table) {
+ auto* expression = (Expression*)expr;
+ assert(expression->is<TableSize>());
+ assert(table);
+ static_cast<TableSize*>(expression)->table = table;
+}
// MemoryGrow
BinaryenExpressionRef BinaryenMemoryGrowGetDelta(BinaryenExpressionRef expr) {
auto* expression = (Expression*)expr;