Merge pull request #84442 from cachemeifyoucan/eng/PR-issue-84088

[Caching] Allow prefix mapping for generated bridging header
This commit is contained in:
Steven Wu
2025-09-25 15:10:29 -07:00
committed by GitHub
16 changed files with 241 additions and 82 deletions

View File

@@ -1492,8 +1492,9 @@ swift::extractUserModuleVersionFromInterface(StringRef moduleInterfacePath) {
return result;
}
std::string swift::extractEmbeddedBridgingHeaderContent(
std::unique_ptr<llvm::MemoryBuffer> file, ASTContext &Context) {
std::unique_ptr<llvm::MemoryBuffer> swift::extractEmbeddedBridgingHeaderContent(
std::unique_ptr<llvm::MemoryBuffer> file, StringRef headerPath,
ASTContext &Context) {
std::shared_ptr<const ModuleFileSharedCore> loadedModuleFile;
serialization::ValidationInfo loadInfo = ModuleFileSharedCore::load(
"", "", std::move(file), nullptr, nullptr, false,
@@ -1503,9 +1504,10 @@ std::string swift::extractEmbeddedBridgingHeaderContent(
loadedModuleFile);
if (loadInfo.status != serialization::Status::Valid)
return {};
return nullptr;;
return loadedModuleFile->getEmbeddedHeader();
return llvm::MemoryBuffer::getMemBufferCopy(
loadedModuleFile->getEmbeddedHeader(), headerPath);
}
bool SerializedModuleLoaderBase::canImportModule(