summaryrefslogtreecommitdiff
path: root/src/binaryen-c.cpp
diff options
context:
space:
mode:
authordcode <dcode@dcode.io>2022-10-26 18:28:45 +0200
committerGitHub <noreply@github.com>2022-10-26 09:28:45 -0700
commit1762c33df1d1fcd704cf4d7497ba5788ee93a07d (patch)
tree122726ccdf6d92b8b193be7252e9f6e016b83e1f /src/binaryen-c.cpp
parent2741c003422fffbf276a521a773521c951c03221 (diff)
downloadbinaryen-1762c33df1d1fcd704cf4d7497ba5788ee93a07d.tar.gz
binaryen-1762c33df1d1fcd704cf4d7497ba5788ee93a07d.tar.bz2
binaryen-1762c33df1d1fcd704cf4d7497ba5788ee93a07d.zip
[C API] Add essential heap type utilities (#5160)
Adds heap type utility to the C API: BinaryenHeapTypeIsBasic BinaryenHeapTypeIsSignature BinaryenHeapTypeIsStruct BinaryenHeapTypeIsArray BinaryenHeapTypeIsSubType
Diffstat (limited to 'src/binaryen-c.cpp')
-rw-r--r--src/binaryen-c.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index 4501a67e0..06c71f5a5 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -315,12 +315,27 @@ BinaryenHeapType BinaryenHeapTypeNofunc() {
return static_cast<BinaryenHeapType>(HeapType::BasicHeapType::nofunc);
}
+bool BinaryenHeapTypeIsBasic(BinaryenHeapType heapType) {
+ return HeapType(heapType).isBasic();
+}
+bool BinaryenHeapTypeIsSignature(BinaryenHeapType heapType) {
+ return HeapType(heapType).isSignature();
+}
+bool BinaryenHeapTypeIsStruct(BinaryenHeapType heapType) {
+ return HeapType(heapType).isStruct();
+}
+bool BinaryenHeapTypeIsArray(BinaryenHeapType heapType) {
+ return HeapType(heapType).isArray();
+}
bool BinaryenHeapTypeIsBottom(BinaryenHeapType heapType) {
return HeapType(heapType).isBottom();
}
BinaryenHeapType BinaryenHeapTypeGetBottom(BinaryenHeapType heapType) {
return static_cast<BinaryenHeapType>(HeapType(heapType).getBottom());
}
+bool BinaryenHeapTypeIsSubType(BinaryenHeapType left, BinaryenHeapType right) {
+ return HeapType::isSubType(HeapType(left), HeapType(right));
+}
BinaryenHeapType BinaryenTypeGetHeapType(BinaryenType type) {
return Type(type).getHeapType().getID();