diff options
| author | Yong He <yonghe@outlook.com> | 2024-06-12 09:45:50 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-12 09:45:50 -0700 |
| commit | ccc26c2d22d471ae649bf16f37ed1cd6cfbddd1b (patch) | |
| tree | f1b84f6c30d2f8aa5014587ef1b7995ae51996e4 /source/slang-capture-replay | |
| parent | 318adcc27b8d89ec1d47c445a93239dd81be0b31 (diff) | |
Extend the COM-based API to support whole program compilation. (#4355)
Diffstat (limited to 'source/slang-capture-replay')
8 files changed, 56 insertions, 0 deletions
diff --git a/source/slang-capture-replay/slang-composite-component-type.cpp b/source/slang-capture-replay/slang-composite-component-type.cpp index 09fcec357..f18f4b9cb 100644 --- a/source/slang-capture-replay/slang-composite-component-type.cpp +++ b/source/slang-capture-replay/slang-composite-component-type.cpp @@ -58,6 +58,16 @@ namespace SlangCapture return res; } + SLANG_NO_THROW SlangResult CompositeComponentTypeCapture::getTargetCode( + SlangInt targetIndex, + slang::IBlob** outCode, + slang::IBlob** outDiagnostics) + { + slangCaptureLog(LogLevel::Verbose, "%s\n", __PRETTY_FUNCTION__); + SlangResult res = m_actualCompositeComponentType->getTargetCode(targetIndex, outCode, outDiagnostics); + return res; + } + SLANG_NO_THROW SlangResult CompositeComponentTypeCapture::getResultAsFileSystem( SlangInt entryPointIndex, SlangInt targetIndex, diff --git a/source/slang-capture-replay/slang-composite-component-type.h b/source/slang-capture-replay/slang-composite-component-type.h index 36cdd16a5..17b11f2c1 100644 --- a/source/slang-capture-replay/slang-composite-component-type.h +++ b/source/slang-capture-replay/slang-composite-component-type.h @@ -59,6 +59,10 @@ namespace SlangCapture uint32_t compilerOptionEntryCount, slang::CompilerOptionEntry* compilerOptionEntries, ISlangBlob** outDiagnostics = nullptr) override; + virtual SLANG_NO_THROW SlangResult SLANG_MCALL getTargetCode( + SlangInt targetIndex, + slang::IBlob** outCode, + slang::IBlob** outDiagnostics = nullptr) override; slang::IComponentType* getActualCompositeComponentType() const { return m_actualCompositeComponentType; } private: diff --git a/source/slang-capture-replay/slang-entrypoint.cpp b/source/slang-capture-replay/slang-entrypoint.cpp index 05e25fcb0..1a975bacb 100644 --- a/source/slang-capture-replay/slang-entrypoint.cpp +++ b/source/slang-capture-replay/slang-entrypoint.cpp @@ -57,6 +57,16 @@ namespace SlangCapture return res; } + SLANG_NO_THROW SlangResult EntryPointCapture::getTargetCode( + SlangInt targetIndex, + slang::IBlob** outCode, + slang::IBlob** outDiagnostics) + { + slangCaptureLog(LogLevel::Verbose, "%s\n", __PRETTY_FUNCTION__); + SlangResult res = m_actualEntryPoint->getTargetCode(targetIndex, outCode, outDiagnostics); + return res; + } + SLANG_NO_THROW SlangResult EntryPointCapture::getResultAsFileSystem( SlangInt entryPointIndex, SlangInt targetIndex, diff --git a/source/slang-capture-replay/slang-entrypoint.h b/source/slang-capture-replay/slang-entrypoint.h index 2ff3b0718..98501284b 100644 --- a/source/slang-capture-replay/slang-entrypoint.h +++ b/source/slang-capture-replay/slang-entrypoint.h @@ -33,6 +33,10 @@ namespace SlangCapture SlangInt targetIndex, slang::IBlob** outCode, slang::IBlob** outDiagnostics = nullptr) override; + virtual SLANG_NO_THROW SlangResult SLANG_MCALL getTargetCode( + SlangInt targetIndex, + slang::IBlob** outCode, + slang::IBlob** outDiagnostics = nullptr) override; virtual SLANG_NO_THROW SlangResult SLANG_MCALL getResultAsFileSystem( SlangInt entryPointIndex, SlangInt targetIndex, diff --git a/source/slang-capture-replay/slang-module.cpp b/source/slang-capture-replay/slang-module.cpp index 31aa6bd54..55743dd78 100644 --- a/source/slang-capture-replay/slang-module.cpp +++ b/source/slang-capture-replay/slang-module.cpp @@ -155,6 +155,16 @@ namespace SlangCapture return res; } + SLANG_NO_THROW SlangResult ModuleCapture::getTargetCode( + SlangInt targetIndex, + slang::IBlob** outCode, + slang::IBlob** outDiagnostics) + { + slangCaptureLog(LogLevel::Verbose, "%s\n", __PRETTY_FUNCTION__); + SlangResult res = m_actualModule->getTargetCode(targetIndex, outCode, outDiagnostics); + return res; + } + SLANG_NO_THROW SlangResult ModuleCapture::getResultAsFileSystem( SlangInt entryPointIndex, SlangInt targetIndex, diff --git a/source/slang-capture-replay/slang-module.h b/source/slang-capture-replay/slang-module.h index d1180c828..5350bc066 100644 --- a/source/slang-capture-replay/slang-module.h +++ b/source/slang-capture-replay/slang-module.h @@ -47,6 +47,10 @@ namespace SlangCapture SlangInt targetIndex, slang::IBlob** outCode, slang::IBlob** outDiagnostics = nullptr) override; + virtual SLANG_NO_THROW SlangResult SLANG_MCALL getTargetCode( + SlangInt targetIndex, + slang::IBlob** outCode, + slang::IBlob** outDiagnostics = nullptr) override; virtual SLANG_NO_THROW SlangResult SLANG_MCALL getResultAsFileSystem( SlangInt entryPointIndex, SlangInt targetIndex, diff --git a/source/slang-capture-replay/slang-type-conformance.cpp b/source/slang-capture-replay/slang-type-conformance.cpp index 1ca9cf737..747ed119e 100644 --- a/source/slang-capture-replay/slang-type-conformance.cpp +++ b/source/slang-capture-replay/slang-type-conformance.cpp @@ -60,6 +60,16 @@ namespace SlangCapture return res; } + SLANG_NO_THROW SlangResult TypeConformanceCapture::getTargetCode( + SlangInt targetIndex, + slang::IBlob** outCode, + slang::IBlob** outDiagnostics) + { + slangCaptureLog(LogLevel::Verbose, "%s\n", __PRETTY_FUNCTION__); + SlangResult res = m_actualTypeConformance->getTargetCode(targetIndex, outCode, outDiagnostics); + return res; + } + SLANG_NO_THROW SlangResult TypeConformanceCapture::getResultAsFileSystem( SlangInt entryPointIndex, SlangInt targetIndex, diff --git a/source/slang-capture-replay/slang-type-conformance.h b/source/slang-capture-replay/slang-type-conformance.h index e2a7b27c9..c9e5f12a3 100644 --- a/source/slang-capture-replay/slang-type-conformance.h +++ b/source/slang-capture-replay/slang-type-conformance.h @@ -33,6 +33,10 @@ namespace SlangCapture SlangInt targetIndex, slang::IBlob** outCode, slang::IBlob** outDiagnostics = nullptr) override; + virtual SLANG_NO_THROW SlangResult SLANG_MCALL getTargetCode( + SlangInt targetIndex, + slang::IBlob** outCode, + slang::IBlob** outDiagnostics = nullptr) override; virtual SLANG_NO_THROW SlangResult SLANG_MCALL getResultAsFileSystem( SlangInt entryPointIndex, SlangInt targetIndex, |
