diff options
Diffstat (limited to 'source/slang/slang-ir.cpp')
| -rw-r--r-- | source/slang/slang-ir.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source/slang/slang-ir.cpp b/source/slang/slang-ir.cpp index 5a917e88c..5f49d1966 100644 --- a/source/slang/slang-ir.cpp +++ b/source/slang/slang-ir.cpp @@ -4,6 +4,7 @@ #include "slang-ir-util.h" #include "../core/slang-basic.h" +#include "../core/slang-writer.h" #include "slang-ir-dominators.h" @@ -8605,6 +8606,25 @@ namespace Slang } } + void IRInst::dump() + { + if (auto intLit = as<IRIntLit>(this)) + { + std::cout << intLit->getValue() << std::endl; + } + else if (auto stringLit = as<IRStringLit>(this)) + { + std::cout << stringLit->getStringSlice().begin() << std::endl; + } + else + { + StringBuilder sb; + IRDumpOptions options; + StringWriter writer(&sb, Slang::WriterFlag::AutoFlush); + dumpIR(this, options, nullptr, &writer); + std::cout << sb.toString().begin() << std::endl; + } + } } // namespace Slang #if SLANG_VC |
