diff options
Diffstat (limited to 'src/binaryen-c.cpp')
-rw-r--r-- | src/binaryen-c.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 2f1d3f5ff..6dc6f7821 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -271,6 +271,7 @@ BinaryenExpressionId BinaryenRefIsNullId(void) { BinaryenExpressionId BinaryenRefFuncId(void) { return Expression::Id::RefFuncId; } +BinaryenExpressionId BinaryenRefEqId(void) { return Expression::Id::RefEqId; } BinaryenExpressionId BinaryenTryId(void) { return Expression::Id::TryId; } BinaryenExpressionId BinaryenThrowId(void) { return Expression::Id::ThrowId; } BinaryenExpressionId BinaryenRethrowId(void) { @@ -1290,6 +1291,13 @@ BinaryenExpressionRef BinaryenRefFunc(BinaryenModuleRef module, return static_cast<Expression*>(Builder(*(Module*)module).makeRefFunc(func)); } +BinaryenExpressionRef BinaryenRefEq(BinaryenModuleRef module, + BinaryenExpressionRef left, + BinaryenExpressionRef right) { + return static_cast<Expression*>( + Builder(*(Module*)module).makeRefEq((Expression*)left, (Expression*)right)); +} + BinaryenExpressionRef BinaryenTry(BinaryenModuleRef module, BinaryenExpressionRef body, BinaryenExpressionRef catchBody) { @@ -2786,6 +2794,29 @@ void BinaryenRefFuncSetFunc(BinaryenExpressionRef expr, const char* funcName) { assert(expression->is<RefFunc>()); static_cast<RefFunc*>(expression)->func = funcName; } +// RefEq +BinaryenExpressionRef BinaryenRefEqGetLeft(BinaryenExpressionRef expr) { + auto* expression = (Expression*)expr; + assert(expression->is<RefEq>()); + return static_cast<RefEq*>(expression)->left; +} +void BinaryenRefEqSetLeft(BinaryenExpressionRef expr, + BinaryenExpressionRef left) { + auto* expression = (Expression*)expr; + assert(expression->is<RefEq>()); + static_cast<RefEq*>(expression)->left = (Expression*)left; +} +BinaryenExpressionRef BinaryenRefEqGetRight(BinaryenExpressionRef expr) { + auto* expression = (Expression*)expr; + assert(expression->is<RefEq>()); + return static_cast<RefEq*>(expression)->right; +} +void BinaryenRefEqSetRight(BinaryenExpressionRef expr, + BinaryenExpressionRef right) { + auto* expression = (Expression*)expr; + assert(expression->is<RefEq>()); + static_cast<RefEq*>(expression)->right = (Expression*)right; +} // Try BinaryenExpressionRef BinaryenTryGetBody(BinaryenExpressionRef expr) { auto* expression = (Expression*)expr; |