summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-06-24 12:00:56 -0700
committerGitHub <noreply@github.com>2016-06-24 12:00:56 -0700
commited4e614430e8864c9f02508f5920c45fd137faf1 (patch)
tree0989e222916bca09e9303805b8f8659de35571bc /src
parent51e7034690b3db8b18b2dee59e896181cf2eca24 (diff)
downloadbinaryen-ed4e614430e8864c9f02508f5920c45fd137faf1.tar.gz
binaryen-ed4e614430e8864c9f02508f5920c45fd137faf1.tar.bz2
binaryen-ed4e614430e8864c9f02508f5920c45fd137faf1.zip
add BinaryenExpressionPrint to c api (#599)
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.