[Dependency Scanning] Remove Swift Overlay dependencies from the set of direct

dependencies

It is valuable for clients to be able to distinguish which dependencies of a
Swift module originated from 'import' statements, and which ones are implicit
dependency Swift overlays of imported Clang modules.
This commit is contained in:
Artem Chikin
2023-08-14 16:59:55 -07:00
parent 72bcb756f5
commit 4610a83bdf
11 changed files with 95 additions and 52 deletions

View File

@@ -298,7 +298,7 @@ bool ModuleDependenciesCacheDeserializer::readGraph(SwiftDependencyScanningServi
moduleDep.addModuleImport(moduleName);
// Add qualified dependencies of this module
moduleDep.resolveDependencies(*currentModuleDependencyIDs);
moduleDep.resolveDirectDependencies(*currentModuleDependencyIDs);
// Add bridging header file path
if (bridgingHeaderFileID != 0) {
@@ -1114,7 +1114,7 @@ void ModuleDependenciesCacheSerializer::collectStringsAndArrays(
dependencyInfo->getModuleImports());
addDependencyIDArray(
moduleID, ModuleIdentifierArrayKind::QualifiedModuleDependencyIDs,
dependencyInfo->getModuleDependencies());
dependencyInfo->getDirectModuleDependencies());
// Add the dependency-kind-specific data
switch (dependencyInfo->getKind()) {