diff options
Diffstat (limited to 'src/passes/Print.cpp')
-rw-r--r-- | src/passes/Print.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index 6dfd495c0..31a6ccaae 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -31,7 +31,8 @@ namespace wasm { static std::ostream& printExpression(Expression* expression, std::ostream& o, bool minify = false, - bool full = false); + bool full = false, + Module* wasm = nullptr); static std::ostream& printStackInst(StackInst* inst, std::ostream& o, Function* func = nullptr); @@ -3039,13 +3040,15 @@ Pass* createPrintStackIRPass() { return new PrintStackIR(); } static std::ostream& printExpression(Expression* expression, std::ostream& o, bool minify, - bool full) { + bool full, + Module* wasm) { if (!expression) { o << "(null expression)"; return o; } PrintSExpression print(o); print.setMinify(minify); + print.currModule = wasm; if (full || isFullForced()) { print.setFull(true); o << "[" << expression->type << "] "; @@ -3215,6 +3218,10 @@ std::ostream& operator<<(std::ostream& o, wasm::Expression* expression) { return wasm::printExpression(expression, o); } +std::ostream& operator<<(std::ostream& o, wasm::ModuleExpression pair) { + return wasm::printExpression(pair.second, o, false, false, &pair.first); +} + std::ostream& operator<<(std::ostream& o, wasm::StackInst& inst) { return wasm::printStackInst(&inst, o); } |