diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/binaryen-c.cpp | 5 | ||||
-rw-r--r-- | src/binaryen-c.h | 2 | ||||
-rw-r--r-- | src/js/binaryen.js-post.js | 3 |
3 files changed, 10 insertions, 0 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index c57beeb22..a64c46fbf 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -1319,6 +1319,11 @@ void BinaryenExpressionPrint(BinaryenExpressionRef expr) { std::cout << '\n'; } +BinaryenExpressionRef BinaryenExpressionCopy(BinaryenExpressionRef expr, + BinaryenModuleRef module) { + return ExpressionManipulator::copy(expr, *(Module*)module); +} + // Specific expression utility // Block diff --git a/src/binaryen-c.h b/src/binaryen-c.h index 0e1c88327..e460671b9 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -848,6 +848,8 @@ BINARYEN_API BinaryenExpressionId BinaryenExpressionGetId(BinaryenExpressionRef expr); BINARYEN_API BinaryenType BinaryenExpressionGetType(BinaryenExpressionRef expr); BINARYEN_API void BinaryenExpressionPrint(BinaryenExpressionRef expr); +BINARYEN_API BinaryenExpressionRef +BinaryenExpressionCopy(BinaryenExpressionRef expr, BinaryenModuleRef module); BINARYEN_API const char* BinaryenBlockGetName(BinaryenExpressionRef expr); BINARYEN_API BinaryenIndex diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index 75d6bf401..1706d2b97 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -2407,6 +2407,9 @@ function wrapModule(module, self) { self['setDebugLocation'] = function(func, expr, fileIndex, lineNumber, columnNumber) { return Module['_BinaryenFunctionSetDebugLocation'](func, expr, fileIndex, lineNumber, columnNumber); }; + self['copyExpression'] = function(expr) { + return Module['_BinaryenExpressionCopy'](expr, module); + }; return self; } |