From 4017a31365969d9b944a60bb8682987d29b07861 Mon Sep 17 00:00:00 2001 From: Artem Chikin Date: Wed, 16 Aug 2023 10:34:59 -0700 Subject: [PATCH] [Explain Dependency] Fix 'testTraceDependency' to account for Swift Overlay Dependencies being separate from direct import dependencies. --- .../CommonDependencyOperations.swift | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Sources/SwiftDriver/ExplicitModuleBuilds/InterModuleDependencies/CommonDependencyOperations.swift b/Sources/SwiftDriver/ExplicitModuleBuilds/InterModuleDependencies/CommonDependencyOperations.swift index cb3b7cbd6..de97afc2c 100644 --- a/Sources/SwiftDriver/ExplicitModuleBuilds/InterModuleDependencies/CommonDependencyOperations.swift +++ b/Sources/SwiftDriver/ExplicitModuleBuilds/InterModuleDependencies/CommonDependencyOperations.swift @@ -267,12 +267,13 @@ internal extension InterModuleDependencyGraph { return } - // If no more dependencies, this is a leaf node, we are done - guard let dependencies = sourceInfo.directDependencies else { - return + var allDependencies = sourceInfo.directDependencies ?? [] + if case .swift(let swiftModuleDetails) = sourceInfo.details, + let overlayDependencies = swiftModuleDetails.swiftOverlayDependencies { + allDependencies.append(contentsOf: overlayDependencies) } - for dependency in dependencies { + for dependency in allDependencies { try findAllPaths(source: dependency, to: moduleName, pathSoFar: pathSoFar + [dependency],