@@ -86,7 +86,8 @@ class SerializedModuleLoaderBase : public ModuleLoader {
8686 std::unique_ptr<llvm::MemoryBuffer> *moduleBuffer,
8787 std::unique_ptr<llvm::MemoryBuffer> *moduleDocBuffer,
8888 std::unique_ptr<llvm::MemoryBuffer> *moduleSourceInfoBuffer,
89- bool skipBuildingInterface, bool &isFramework, bool &isSystemModule);
89+ bool skipBuildingInterface, bool isTestableDependencyLookup,
90+ bool &isFramework, bool &isSystemModule);
9091
9192 // / Attempts to search the provided directory for a loadable serialized
9293 // / .swiftmodule with the provided `ModuleFilename`. Subclasses must
@@ -107,7 +108,8 @@ class SerializedModuleLoaderBase : public ModuleLoader {
107108 std::unique_ptr<llvm::MemoryBuffer> *ModuleBuffer,
108109 std::unique_ptr<llvm::MemoryBuffer> *ModuleDocBuffer,
109110 std::unique_ptr<llvm::MemoryBuffer> *ModuleSourceInfoBuffer,
110- bool skipBuildingInterface, bool IsFramework) = 0;
111+ bool SkipBuildingInterface, bool IsFramework,
112+ bool isTestableDependencyLookup = false ) = 0;
111113
112114 std::error_code
113115 openModuleFile (
@@ -191,7 +193,8 @@ class SerializedModuleLoaderBase : public ModuleLoader {
191193 // / If a non-null \p versionInfo is provided, the module version will be
192194 // / parsed and populated.
193195 virtual bool canImportModule (ImportPath::Module named,
194- ModuleVersionInfo *versionInfo) override ;
196+ ModuleVersionInfo *versionInfo,
197+ bool isTestableDependencyLookup = false ) override ;
195198
196199 // / Import a module with the given module path.
197200 // /
@@ -226,7 +229,8 @@ class SerializedModuleLoaderBase : public ModuleLoader {
226229
227230 virtual Optional<const ModuleDependencyInfo*> getModuleDependencies (
228231 StringRef moduleName, ModuleDependenciesCache &cache,
229- InterfaceSubContextDelegate &delegate) override ;
232+ InterfaceSubContextDelegate &delegate,
233+ bool isTestableImport) override ;
230234};
231235
232236// / Imports serialized Swift modules into an ASTContext.
@@ -244,7 +248,8 @@ class ImplicitSerializedModuleLoader : public SerializedModuleLoaderBase {
244248 std::unique_ptr<llvm::MemoryBuffer> *ModuleBuffer,
245249 std::unique_ptr<llvm::MemoryBuffer> *ModuleDocBuffer,
246250 std::unique_ptr<llvm::MemoryBuffer> *ModuleSourceInfoBuffer,
247- bool skipBuildingInterface, bool IsFramework) override ;
251+ bool SkipBuildingInterface, bool IsFramework,
252+ bool isTestableDependencyLookup = false ) override ;
248253
249254 bool maybeDiagnoseTargetMismatch (
250255 SourceLoc sourceLocation,
@@ -298,7 +303,8 @@ class MemoryBufferSerializedModuleLoader : public SerializedModuleLoaderBase {
298303 std::unique_ptr<llvm::MemoryBuffer> *ModuleBuffer,
299304 std::unique_ptr<llvm::MemoryBuffer> *ModuleDocBuffer,
300305 std::unique_ptr<llvm::MemoryBuffer> *ModuleSourceInfoBuffer,
301- bool skipBuildingInterface, bool IsFramework) override ;
306+ bool SkipBuildingInterface, bool IsFramework,
307+ bool IsTestableDependencyLookup = false ) override ;
302308
303309 bool maybeDiagnoseTargetMismatch (
304310 SourceLoc sourceLocation,
@@ -310,7 +316,8 @@ class MemoryBufferSerializedModuleLoader : public SerializedModuleLoaderBase {
310316 virtual ~MemoryBufferSerializedModuleLoader ();
311317
312318 bool canImportModule (ImportPath::Module named,
313- ModuleVersionInfo *versionInfo) override ;
319+ ModuleVersionInfo *versionInfo,
320+ bool isTestableDependencyLookup = false ) override ;
314321
315322 ModuleDecl *
316323 loadModule (SourceLoc importLoc,
0 commit comments