@@ -176,13 +176,6 @@ class ModuleDependencyInfoStorageBase {
176
176
public:
177
177
const ModuleDependencyKind dependencyKind;
178
178
179
- ModuleDependencyInfoStorageBase (ModuleDependencyKind dependencyKind,
180
- ArrayRef<LinkLibrary> linkLibraries,
181
- StringRef moduleCacheKey = " " )
182
- : dependencyKind(dependencyKind), linkLibraries(linkLibraries),
183
- moduleCacheKey (moduleCacheKey.str()),
184
- finalized(false ) {}
185
-
186
179
ModuleDependencyInfoStorageBase (
187
180
ModuleDependencyKind dependencyKind,
188
181
ArrayRef<ScannerImportStatementInfo> moduleImports,
@@ -303,11 +296,14 @@ class SwiftInterfaceModuleDependenciesStorage
303
296
SwiftInterfaceModuleDependenciesStorage (
304
297
StringRef moduleOutputPath, StringRef swiftInterfaceFile,
305
298
ArrayRef<StringRef> compiledModuleCandidates,
299
+ ArrayRef<ScannerImportStatementInfo> moduleImports,
300
+ ArrayRef<ScannerImportStatementInfo> optionalModuleImports,
306
301
ArrayRef<StringRef> buildCommandLine, ArrayRef<LinkLibrary> linkLibraries,
307
302
ArrayRef<StringRef> extraPCMArgs, StringRef contextHash, bool isFramework,
308
303
bool isStatic, StringRef RootID, StringRef moduleCacheKey,
309
304
StringRef userModuleVersion)
310
305
: ModuleDependencyInfoStorageBase(ModuleDependencyKind::SwiftInterface,
306
+ moduleImports, optionalModuleImports,
311
307
linkLibraries, moduleCacheKey),
312
308
moduleOutputPath (moduleOutputPath),
313
309
swiftInterfaceFile(swiftInterfaceFile),
@@ -350,9 +346,12 @@ class SwiftSourceModuleDependenciesStorage
350
346
351
347
SwiftSourceModuleDependenciesStorage (
352
348
StringRef RootID, ArrayRef<StringRef> buildCommandLine,
349
+ ArrayRef<ScannerImportStatementInfo> moduleImports,
350
+ ArrayRef<ScannerImportStatementInfo> optionalModuleImports,
353
351
ArrayRef<StringRef> bridgingHeaderBuildCommandLine,
354
352
ArrayRef<StringRef> extraPCMArgs)
355
- : ModuleDependencyInfoStorageBase(ModuleDependencyKind::SwiftSource, {}),
353
+ : ModuleDependencyInfoStorageBase(ModuleDependencyKind::SwiftSource,
354
+ moduleImports, optionalModuleImports, {}),
356
355
textualModuleDetails (extraPCMArgs, buildCommandLine, RootID),
357
356
testableImports (llvm::StringSet<>()),
358
357
bridgingHeaderBuildCommandLine (bridgingHeaderBuildCommandLine.begin(),
@@ -500,6 +499,7 @@ class ClangModuleDependencyStorage : public ModuleDependencyInfoStorageBase {
500
499
StringRef clangIncludeTreeRoot,
501
500
StringRef moduleCacheKey, bool IsSystem)
502
501
: ModuleDependencyInfoStorageBase(ModuleDependencyKind::Clang,
502
+ {}, {},
503
503
linkLibraries, moduleCacheKey),
504
504
pcmOutputPath (pcmOutputPath), mappedPCMPath(mappedPCMPath),
505
505
moduleMapFile (moduleMapFile), contextHash(contextHash),
@@ -531,7 +531,7 @@ class SwiftPlaceholderModuleDependencyStorage
531
531
SwiftPlaceholderModuleDependencyStorage (StringRef compiledModulePath,
532
532
StringRef moduleDocPath,
533
533
StringRef sourceInfoPath)
534
- : ModuleDependencyInfoStorageBase(ModuleDependencyKind::SwiftPlaceholder,
534
+ : ModuleDependencyInfoStorageBase(ModuleDependencyKind::SwiftPlaceholder, {}, {},
535
535
{}),
536
536
compiledModulePath (compiledModulePath), moduleDocPath(moduleDocPath),
537
537
sourceInfoPath (sourceInfoPath) {}
@@ -586,13 +586,16 @@ class ModuleDependencyInfo {
586
586
static ModuleDependencyInfo forSwiftInterfaceModule (
587
587
StringRef moduleOutputPath, StringRef swiftInterfaceFile,
588
588
ArrayRef<StringRef> compiledCandidates, ArrayRef<StringRef> buildCommands,
589
+ ArrayRef<ScannerImportStatementInfo> moduleImports,
590
+ ArrayRef<ScannerImportStatementInfo> optionalModuleImports,
589
591
ArrayRef<LinkLibrary> linkLibraries, ArrayRef<StringRef> extraPCMArgs,
590
592
StringRef contextHash, bool isFramework, bool isStatic,
591
593
StringRef CASFileSystemRootID, StringRef moduleCacheKey,
592
594
StringRef userModuleVersion) {
593
595
return ModuleDependencyInfo (
594
596
std::make_unique<SwiftInterfaceModuleDependenciesStorage>(
595
597
moduleOutputPath, swiftInterfaceFile, compiledCandidates,
598
+ moduleImports, optionalModuleImports,
596
599
buildCommands, linkLibraries, extraPCMArgs, contextHash,
597
600
isFramework, isStatic, CASFileSystemRootID, moduleCacheKey,
598
601
userModuleVersion));
@@ -619,11 +622,14 @@ class ModuleDependencyInfo {
619
622
static ModuleDependencyInfo
620
623
forSwiftSourceModule (const std::string &CASFileSystemRootID,
621
624
ArrayRef<StringRef> buildCommands,
625
+ ArrayRef<ScannerImportStatementInfo> moduleImports,
626
+ ArrayRef<ScannerImportStatementInfo> optionalModuleImports,
622
627
ArrayRef<StringRef> bridgingHeaderBuildCommands,
623
628
ArrayRef<StringRef> extraPCMArgs) {
624
629
return ModuleDependencyInfo (
625
630
std::make_unique<SwiftSourceModuleDependenciesStorage>(
626
- CASFileSystemRootID, buildCommands, bridgingHeaderBuildCommands,
631
+ CASFileSystemRootID, buildCommands, moduleImports,
632
+ optionalModuleImports, bridgingHeaderBuildCommands,
627
633
extraPCMArgs));
628
634
}
629
635
0 commit comments