@@ -421,7 +421,7 @@ std::error_code ImplicitSerializedModuleLoader::findModuleFilesInDirectory(
421
421
std::unique_ptr<llvm::MemoryBuffer> *ModuleBuffer,
422
422
std::unique_ptr<llvm::MemoryBuffer> *ModuleDocBuffer,
423
423
std::unique_ptr<llvm::MemoryBuffer> *ModuleSourceInfoBuffer,
424
- bool IsFramework) {
424
+ bool skipBuildingInterface, bool IsFramework) {
425
425
assert (((ModuleBuffer && ModuleDocBuffer) ||
426
426
(!ModuleBuffer && !ModuleDocBuffer)) &&
427
427
" Module and Module Doc buffer must both be initialized or NULL" );
@@ -514,7 +514,7 @@ SerializedModuleLoaderBase::findModule(ImportPath::Element moduleID,
514
514
std::unique_ptr<llvm::MemoryBuffer> *moduleBuffer,
515
515
std::unique_ptr<llvm::MemoryBuffer> *moduleDocBuffer,
516
516
std::unique_ptr<llvm::MemoryBuffer> *moduleSourceInfoBuffer,
517
- bool &isFramework, bool &isSystemModule) {
517
+ bool skipBuildingInterface, bool &isFramework, bool &isSystemModule) {
518
518
SmallString<32 > moduleName (moduleID.Item .str ());
519
519
SerializedModuleBaseName genericBaseName (moduleName);
520
520
@@ -552,6 +552,7 @@ SerializedModuleLoaderBase::findModule(ImportPath::Element moduleID,
552
552
moduleInterfacePath,
553
553
moduleBuffer, moduleDocBuffer,
554
554
moduleSourceInfoBuffer,
555
+ skipBuildingInterface,
555
556
IsFramework);
556
557
if (!result) {
557
558
return true ;
@@ -609,7 +610,8 @@ SerializedModuleLoaderBase::findModule(ImportPath::Element moduleID,
609
610
610
611
auto result = findModuleFilesInDirectory (
611
612
moduleID, absoluteBaseName, moduleInterfacePath,
612
- moduleBuffer, moduleDocBuffer, moduleSourceInfoBuffer, isFramework);
613
+ moduleBuffer, moduleDocBuffer, moduleSourceInfoBuffer,
614
+ skipBuildingInterface, isFramework);
613
615
if (!result)
614
616
return true ;
615
617
else if (result == std::errc::not_supported)
@@ -998,9 +1000,10 @@ bool SerializedModuleLoaderBase::canImportModule(
998
1000
std::unique_ptr<llvm::MemoryBuffer> *unusedModuleSourceInfoBuffer = nullptr ;
999
1001
bool isFramework = false ;
1000
1002
bool isSystemModule = false ;
1003
+ bool skipBuildingInterface = true ;
1001
1004
return findModule (mID , unusedModuleInterfacePath, unusedModuleBuffer,
1002
1005
unusedModuleDocBuffer, unusedModuleSourceInfoBuffer,
1003
- isFramework, isSystemModule);
1006
+ skipBuildingInterface, isFramework, isSystemModule);
1004
1007
}
1005
1008
1006
1009
bool MemoryBufferSerializedModuleLoader::canImportModule (
@@ -1028,7 +1031,7 @@ SerializedModuleLoaderBase::loadModule(SourceLoc importLoc,
1028
1031
// Look on disk.
1029
1032
if (!findModule (moduleID, &moduleInterfacePath, &moduleInputBuffer,
1030
1033
&moduleDocInputBuffer, &moduleSourceInfoInputBuffer,
1031
- isFramework, isSystemModule)) {
1034
+ /* skipBuildingInterface */ false , isFramework, isSystemModule)) {
1032
1035
return nullptr ;
1033
1036
}
1034
1037
@@ -1142,7 +1145,7 @@ std::error_code MemoryBufferSerializedModuleLoader::findModuleFilesInDirectory(
1142
1145
std::unique_ptr<llvm::MemoryBuffer> *ModuleBuffer,
1143
1146
std::unique_ptr<llvm::MemoryBuffer> *ModuleDocBuffer,
1144
1147
std::unique_ptr<llvm::MemoryBuffer> *ModuleSourceInfoBuffer,
1145
- bool IsFramework) {
1148
+ bool skipBuildingInterface, bool IsFramework) {
1146
1149
// This is a soft error instead of an llvm_unreachable because this API is
1147
1150
// primarily used by LLDB which makes it more likely that unwitting changes to
1148
1151
// the Swift compiler accidentally break the contract.
0 commit comments