From 1762c33df1d1fcd704cf4d7497ba5788ee93a07d Mon Sep 17 00:00:00 2001 From: dcode Date: Wed, 26 Oct 2022 18:28:45 +0200 Subject: [C API] Add essential heap type utilities (#5160) Adds heap type utility to the C API: BinaryenHeapTypeIsBasic BinaryenHeapTypeIsSignature BinaryenHeapTypeIsStruct BinaryenHeapTypeIsArray BinaryenHeapTypeIsSubType --- src/binaryen-c.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/binaryen-c.cpp') 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(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(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(); -- cgit v1.2.3