summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-compiler.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-compiler.h')
-rw-r--r--source/slang/slang-compiler.h12
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;