summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/binaryen-c.cpp5
-rw-r--r--src/binaryen-c.h5
2 files changed, 9 insertions, 1 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index 5ae3b7a10..4dff289fb 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -364,6 +364,11 @@ BinaryenExpressionRef BinaryenUnreachable(BinaryenModuleRef module) {
return static_cast<Expression*>(((Module*)module)->allocator.alloc<Unreachable>());
}
+void BinaryenExpressionPrint(BinaryenExpressionRef expr) {
+ WasmPrinter::printExpression((Expression*)expr, std::cout);
+ std::cout << '\n';
+}
+
// Functions
BinaryenFunctionRef BinaryenAddFunction(BinaryenModuleRef module, const char* name, BinaryenFunctionTypeRef type, BinaryenType* localTypes, BinaryenIndex numLocalTypes, BinaryenExpressionRef body) {
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index b9343012c..a587e03ac 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -288,6 +288,9 @@ BinaryenExpressionRef BinaryenHost(BinaryenModuleRef module, BinaryenOp op, cons
BinaryenExpressionRef BinaryenNop(BinaryenModuleRef module);
BinaryenExpressionRef BinaryenUnreachable(BinaryenModuleRef module);
+// Print an expression to stdout. Useful for debugging.
+void BinaryenExpressionPrint(BinaryenExpressionRef expr);
+
// Functions
typedef void* BinaryenFunctionRef;
@@ -324,7 +327,7 @@ void BinaryenSetStart(BinaryenModuleRef module, BinaryenFunctionRef start);
// ========== Module Operations ==========
//
-// Print a module to stdout.
+// Print a module to stdout. Useful for debugging.
void BinaryenModulePrint(BinaryenModuleRef module);
// Validate a module, showing errors on problems.