diff options
Diffstat (limited to 'src/binaryen-c.h')
-rw-r--r-- | src/binaryen-c.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/binaryen-c.h b/src/binaryen-c.h index 099b50c9c..24018e4d8 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -563,6 +563,10 @@ BINARYEN_API BinaryenOp BinaryenRefIsNull(void); BINARYEN_API BinaryenOp BinaryenRefIsFunc(void); BINARYEN_API BinaryenOp BinaryenRefIsData(void); BINARYEN_API BinaryenOp BinaryenRefIsI31(void); +BINARYEN_API BinaryenOp BinaryenRefAsNonNull(void); +BINARYEN_API BinaryenOp BinaryenRefAsFunc(void); +BINARYEN_API BinaryenOp BinaryenRefAsData(void); +BINARYEN_API BinaryenOp BinaryenRefAsI31(void); BINARYEN_REF(Expression); @@ -797,6 +801,9 @@ BINARYEN_API BinaryenExpressionRef BinaryenRefNull(BinaryenModuleRef module, BINARYEN_API BinaryenExpressionRef BinaryenRefIs(BinaryenModuleRef module, BinaryenOp op, BinaryenExpressionRef value); +BINARYEN_API BinaryenExpressionRef BinaryenRefAs(BinaryenModuleRef module, + BinaryenOp op, + BinaryenExpressionRef value); BINARYEN_API BinaryenExpressionRef BinaryenRefFunc(BinaryenModuleRef module, const char* func, BinaryenType type); @@ -1702,6 +1709,19 @@ BinaryenRefIsGetValue(BinaryenExpressionRef expr); BINARYEN_API void BinaryenRefIsSetValue(BinaryenExpressionRef expr, BinaryenExpressionRef valueExpr); +// RefAs + +// Gets the operation performed by a `ref.as_*` expression. +BINARYEN_API BinaryenOp BinaryenRefAsGetOp(BinaryenExpressionRef expr); +// Sets the operation performed by a `ref.as_*` expression. +BINARYEN_API void BinaryenRefAsSetOp(BinaryenExpressionRef expr, BinaryenOp op); +// Gets the value expression tested by a `ref.as_*` expression. +BINARYEN_API BinaryenExpressionRef +BinaryenRefAsGetValue(BinaryenExpressionRef expr); +// Sets the value expression tested by a `ref.as_*` expression. +BINARYEN_API void BinaryenRefAsSetValue(BinaryenExpressionRef expr, + BinaryenExpressionRef valueExpr); + // RefFunc // Gets the name of the function being wrapped by a `ref.func` expression. |