diff options
Diffstat (limited to 'source/slang/slang-compiler.h')
| -rw-r--r-- | source/slang/slang-compiler.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/slang/slang-compiler.h b/source/slang/slang-compiler.h index cfcbe816f..d4e05bc48 100644 --- a/source/slang/slang-compiler.h +++ b/source/slang/slang-compiler.h @@ -1832,6 +1832,18 @@ private: // Source files that have been pulled into the module with `__include`. Dictionary<SourceFile*, FileDecl*> m_mapSourceFileToFileDecl; + +public: + SLANG_NO_THROW SlangResult SLANG_MCALL disassemble(slang::IBlob** outDisassembledBlob) override + { + if (!outDisassembledBlob) + return SLANG_E_INVALID_ARG; + String disassembly; + this->getIRModule()->getModuleInst()->dump(disassembly); + auto blob = StringUtil::createStringBlob(disassembly); + *outDisassembledBlob = blob.detach(); + return SLANG_OK; + } }; typedef Module LoadedModule; |
