@@ -421,7 +421,7 @@ std::error_code ImplicitSerializedModuleLoader::findModuleFilesInDirectory(
421421 std::unique_ptr<llvm::MemoryBuffer> *ModuleBuffer,
422422 std::unique_ptr<llvm::MemoryBuffer> *ModuleDocBuffer,
423423 std::unique_ptr<llvm::MemoryBuffer> *ModuleSourceInfoBuffer,
424- bool IsFramework) {
424+ bool skipBuildingInterface, bool IsFramework) {
425425 assert (((ModuleBuffer && ModuleDocBuffer) ||
426426 (!ModuleBuffer && !ModuleDocBuffer)) &&
427427 " Module and Module Doc buffer must both be initialized or NULL" );
@@ -514,7 +514,7 @@ SerializedModuleLoaderBase::findModule(ImportPath::Element moduleID,
514514 std::unique_ptr<llvm::MemoryBuffer> *moduleBuffer,
515515 std::unique_ptr<llvm::MemoryBuffer> *moduleDocBuffer,
516516 std::unique_ptr<llvm::MemoryBuffer> *moduleSourceInfoBuffer,
517- bool &isFramework, bool &isSystemModule) {
517+ bool skipBuildingInterface, bool &isFramework, bool &isSystemModule) {
518518 SmallString<32 > moduleName (moduleID.Item .str ());
519519 SerializedModuleBaseName genericBaseName (moduleName);
520520
@@ -552,6 +552,7 @@ SerializedModuleLoaderBase::findModule(ImportPath::Element moduleID,
552552 moduleInterfacePath,
553553 moduleBuffer, moduleDocBuffer,
554554 moduleSourceInfoBuffer,
555+ skipBuildingInterface,
555556 IsFramework);
556557 if (!result) {
557558 return true ;
@@ -609,7 +610,8 @@ SerializedModuleLoaderBase::findModule(ImportPath::Element moduleID,
609610
610611 auto result = findModuleFilesInDirectory (
611612 moduleID, absoluteBaseName, moduleInterfacePath,
612- moduleBuffer, moduleDocBuffer, moduleSourceInfoBuffer, isFramework);
613+ moduleBuffer, moduleDocBuffer, moduleSourceInfoBuffer,
614+ skipBuildingInterface, isFramework);
613615 if (!result)
614616 return true ;
615617 else if (result == std::errc::not_supported)
@@ -998,9 +1000,10 @@ bool SerializedModuleLoaderBase::canImportModule(
9981000 std::unique_ptr<llvm::MemoryBuffer> *unusedModuleSourceInfoBuffer = nullptr ;
9991001 bool isFramework = false ;
10001002 bool isSystemModule = false ;
1003+ bool skipBuildingInterface = true ;
10011004 return findModule (mID , unusedModuleInterfacePath, unusedModuleBuffer,
10021005 unusedModuleDocBuffer, unusedModuleSourceInfoBuffer,
1003- isFramework, isSystemModule);
1006+ skipBuildingInterface, isFramework, isSystemModule);
10041007}
10051008
10061009bool MemoryBufferSerializedModuleLoader::canImportModule (
@@ -1028,7 +1031,7 @@ SerializedModuleLoaderBase::loadModule(SourceLoc importLoc,
10281031 // Look on disk.
10291032 if (!findModule (moduleID, &moduleInterfacePath, &moduleInputBuffer,
10301033 &moduleDocInputBuffer, &moduleSourceInfoInputBuffer,
1031- isFramework, isSystemModule)) {
1034+ /* skipBuildingInterface */ false , isFramework, isSystemModule)) {
10321035 return nullptr ;
10331036 }
10341037
@@ -1142,7 +1145,7 @@ std::error_code MemoryBufferSerializedModuleLoader::findModuleFilesInDirectory(
11421145 std::unique_ptr<llvm::MemoryBuffer> *ModuleBuffer,
11431146 std::unique_ptr<llvm::MemoryBuffer> *ModuleDocBuffer,
11441147 std::unique_ptr<llvm::MemoryBuffer> *ModuleSourceInfoBuffer,
1145- bool IsFramework) {
1148+ bool skipBuildingInterface, bool IsFramework) {
11461149 // This is a soft error instead of an llvm_unreachable because this API is
11471150 // primarily used by LLDB which makes it more likely that unwitting changes to
11481151 // the Swift compiler accidentally break the contract.
0 commit comments