summaryrefslogtreecommitdiff
path: root/src/binaryen-c.h
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2020-03-26 16:33:35 -0700
committerGitHub <noreply@github.com>2020-03-26 16:33:35 -0700
commit9101f65c7b18ab607c472a3d50b52db66497402f (patch)
tree9ffa1174a01162e750966ba39e7a3ca86c2e18ec /src/binaryen-c.h
parentce6ae49863d7d2da54aabf9637ee299659f4bd0c (diff)
downloadbinaryen-9101f65c7b18ab607c472a3d50b52db66497402f.tar.gz
binaryen-9101f65c7b18ab607c472a3d50b52db66497402f.tar.bz2
binaryen-9101f65c7b18ab607c472a3d50b52db66497402f.zip
Tuple operations in C and JS APIs (#2711)
Adds functions for creating and inspecting tuple.make and tuple.extract expressions in the C and JS APIs.
Diffstat (limited to 'src/binaryen-c.h')
-rw-r--r--src/binaryen-c.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index b820bbdcb..33faab45d 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -167,6 +167,8 @@ BINARYEN_API BinaryenExpressionId BinaryenTryId(void);
BINARYEN_API BinaryenExpressionId BinaryenThrowId(void);
BINARYEN_API BinaryenExpressionId BinaryenRethrowId(void);
BINARYEN_API BinaryenExpressionId BinaryenBrOnExnId(void);
+BINARYEN_API BinaryenExpressionId BinaryenTupleMakeId(void);
+BINARYEN_API BinaryenExpressionId BinaryenTupleExtractId(void);
BINARYEN_API BinaryenExpressionId BinaryenPushId(void);
BINARYEN_API BinaryenExpressionId BinaryenPopId(void);
@@ -831,6 +833,12 @@ BinaryenBrOnExn(BinaryenModuleRef module,
const char* name,
const char* eventName,
BinaryenExpressionRef exnref);
+BINARYEN_API BinaryenExpressionRef
+BinaryenTupleMake(BinaryenModuleRef module,
+ BinaryenExpressionRef* operands,
+ BinaryenIndex numOperands);
+BINARYEN_API BinaryenExpressionRef BinaryenTupleExtract(
+ BinaryenModuleRef module, BinaryenExpressionRef tuple, BinaryenIndex index);
BINARYEN_API BinaryenExpressionRef BinaryenPush(BinaryenModuleRef module,
BinaryenExpressionRef value);
BINARYEN_API BinaryenExpressionRef BinaryenPop(BinaryenModuleRef module,
@@ -1078,6 +1086,16 @@ BINARYEN_API const char* BinaryenBrOnExnGetName(BinaryenExpressionRef expr);
BINARYEN_API BinaryenExpressionRef
BinaryenBrOnExnGetExnref(BinaryenExpressionRef expr);
+BINARYEN_API BinaryenIndex
+BinaryenTupleMakeGetNumOperands(BinaryenExpressionRef expr);
+BINARYEN_API BinaryenExpressionRef
+BinaryenTupleMakeGetOperand(BinaryenExpressionRef expr, BinaryenIndex index);
+
+BINARYEN_API BinaryenExpressionRef
+BinaryenTupleExtractGetTuple(BinaryenExpressionRef expr);
+BINARYEN_API BinaryenIndex
+BinaryenTupleExtractGetIndex(BinaryenExpressionRef expr);
+
BINARYEN_API BinaryenExpressionRef
BinaryenPushGetValue(BinaryenExpressionRef expr);