[FIR] Recursively search dependsOn modules in visibility checks

#KT-59071 Fixed
This commit is contained in:
Brian Norman
2023-07-21 15:29:55 -05:00
committed by Space Team
parent 95bf63d6cb
commit 42ebbb937c
9 changed files with 138 additions and 5 deletions
@@ -149,9 +149,7 @@ abstract class FirAbstractSessionFactory {
// dependsOnDependencies can actualize declarations from their dependencies. Because actual declarations can be more specific
// (e.g. have additional supertypes), the modules must be ordered from most specific (i.e. actual) to most generic (i.e. expect)
// to prevent false positive resolution errors (see KT-57369 for an example).
val dependsOnDependencies = topologicalSort(moduleData.dependsOnDependencies) { it.dependsOnDependencies }
return (moduleData.dependencies + moduleData.friendDependencies + dependsOnDependencies)
return (moduleData.dependencies + moduleData.friendDependencies + moduleData.allDependsOnDependencies)
.mapNotNull { sessionProvider?.getSession(it) }
.map { it.symbolProvider }
.flatMap { it.flatten(visited, collectSourceProviders = it.session.kind == FirSession.Kind.Source) }