summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/binaryen-c.cpp22
-rw-r--r--src/binaryen-c.h9
2 files changed, 31 insertions, 0 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index ec70baef2..cd3806810 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -202,6 +202,9 @@ BinaryenType BinaryenTypeI31ref(void) {
BinaryenType BinaryenTypeDataref(void) {
return Type(HeapType::data, NonNullable).getID();
}
+BinaryenType BinaryenTypeArrayref(void) {
+ return Type(HeapType::array, Nullable).getID();
+}
BinaryenType BinaryenTypeStringref() {
return Type(HeapType::string, Nullable).getID();
}
@@ -284,6 +287,9 @@ BinaryenHeapType BinaryenHeapTypeI31() {
BinaryenHeapType BinaryenHeapTypeData() {
return static_cast<BinaryenHeapType>(HeapType::BasicHeapType::data);
}
+BinaryenHeapType BinaryenHeapTypeArray() {
+ return static_cast<BinaryenHeapType>(HeapType::BasicHeapType::array);
+}
BinaryenHeapType BinaryenHeapTypeString() {
return static_cast<BinaryenHeapType>(HeapType::BasicHeapType::string);
}
@@ -299,6 +305,22 @@ BinaryenHeapType BinaryenHeapTypeStringviewIter() {
return static_cast<BinaryenHeapType>(
HeapType::BasicHeapType::stringview_iter);
}
+BinaryenHeapType BinaryenHeapTypeNone() {
+ return static_cast<BinaryenHeapType>(HeapType::BasicHeapType::none);
+}
+BinaryenHeapType BinaryenHeapTypeNoext() {
+ return static_cast<BinaryenHeapType>(HeapType::BasicHeapType::noext);
+}
+BinaryenHeapType BinaryenHeapTypeNofunc() {
+ return static_cast<BinaryenHeapType>(HeapType::BasicHeapType::nofunc);
+}
+
+bool BinaryenHeapTypeIsBottom(BinaryenHeapType heapType) {
+ return HeapType(heapType).isBottom();
+}
+BinaryenHeapType BinaryenHeapTypeGetBottom(BinaryenHeapType heapType) {
+ return static_cast<BinaryenHeapType>(HeapType(heapType).getBottom());
+}
BinaryenHeapType BinaryenTypeGetHeapType(BinaryenType type) {
return Type(type).getHeapType().getID();
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index 9cc282721..ea3988cae 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -105,6 +105,7 @@ BINARYEN_API BinaryenType BinaryenTypeAnyref(void);
BINARYEN_API BinaryenType BinaryenTypeEqref(void);
BINARYEN_API BinaryenType BinaryenTypeI31ref(void);
BINARYEN_API BinaryenType BinaryenTypeDataref(void);
+BINARYEN_API BinaryenType BinaryenTypeArrayref(void);
BINARYEN_API BinaryenType BinaryenTypeStringref(void);
BINARYEN_API BinaryenType BinaryenTypeStringviewWTF8(void);
BINARYEN_API BinaryenType BinaryenTypeStringviewWTF16(void);
@@ -146,10 +147,18 @@ BINARYEN_API BinaryenHeapType BinaryenHeapTypeAny(void);
BINARYEN_API BinaryenHeapType BinaryenHeapTypeEq(void);
BINARYEN_API BinaryenHeapType BinaryenHeapTypeI31(void);
BINARYEN_API BinaryenHeapType BinaryenHeapTypeData(void);
+BINARYEN_API BinaryenHeapType BinaryenHeapTypeArray(void);
BINARYEN_API BinaryenHeapType BinaryenHeapTypeString(void);
BINARYEN_API BinaryenHeapType BinaryenHeapTypeStringviewWTF8(void);
BINARYEN_API BinaryenHeapType BinaryenHeapTypeStringviewWTF16(void);
BINARYEN_API BinaryenHeapType BinaryenHeapTypeStringviewIter(void);
+BINARYEN_API BinaryenHeapType BinaryenHeapTypeNone(void);
+BINARYEN_API BinaryenHeapType BinaryenHeapTypeNoext(void);
+BINARYEN_API BinaryenHeapType BinaryenHeapTypeNofunc(void);
+
+BINARYEN_API bool BinaryenHeapTypeIsBottom(BinaryenHeapType heapType);
+BINARYEN_API BinaryenHeapType
+BinaryenHeapTypeGetBottom(BinaryenHeapType heapType);
BINARYEN_API BinaryenHeapType BinaryenTypeGetHeapType(BinaryenType type);
BINARYEN_API bool BinaryenTypeIsNullable(BinaryenType type);