diff options
Diffstat (limited to 'source/slang/slang-ir.cpp')
| -rw-r--r-- | source/slang/slang-ir.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/source/slang/slang-ir.cpp b/source/slang/slang-ir.cpp index 92e51fe3b..6d1d76afc 100644 --- a/source/slang/slang-ir.cpp +++ b/source/slang/slang-ir.cpp @@ -8950,24 +8950,33 @@ void IRInst::addBlock(IRBlock* block) block->insertAtEnd(this); } -void IRInst::dump() +void IRInst::dump(String& outStr) { + StringBuilder sb; + if (auto intLit = as<IRIntLit>(this)) { - std::cout << intLit->getValue() << std::endl; + sb << intLit->getValue(); } else if (auto stringLit = as<IRStringLit>(this)) { - std::cout << stringLit->getStringSlice().begin() << std::endl; + sb << stringLit->getStringSlice(); } else { - StringBuilder sb; IRDumpOptions options; StringWriter writer(&sb, Slang::WriterFlag::AutoFlush); dumpIR(this, options, nullptr, &writer); - std::cout << sb.toString().begin() << std::endl; } + + outStr = sb.toString(); +} + +void IRInst::dump() +{ + String s; + dump(s); + std::cout << s.begin() << std::endl; } } // namespace Slang |
