commit | e6735e10d9ad97549bf873da4ec28aa98dd7a096 | [log] [tgz] |
---|---|---|
author | Denis.Zharkov <denis.zharkov@jetbrains.com> | Thu Dec 15 12:27:54 2022 +0100 |
committer | Denis.Zharkov <denis.zharkov@jetbrains.com> | Thu Dec 15 12:27:54 2022 +0100 |
tree | b77af119e63975e4ded75c668acbad4e6d775d34 | |
parent | 057b27e2409d4abf2540364aa4fd605de1fcc4d3 [diff] |
~ flatten dependencies
diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirCompositeSymbolProvider.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirCompositeSymbolProvider.kt index 6ac1b66..609e11c 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirCompositeSymbolProvider.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirCompositeSymbolProvider.kt
@@ -24,7 +24,16 @@ import org.jetbrains.kotlin.name.Name @NoMutableState -class FirCompositeSymbolProvider(session: FirSession, val providers: List<FirSymbolProvider>) : FirSymbolProvider(session) { +class FirCompositeSymbolProvider(session: FirSession, providers: List<FirSymbolProvider>) : FirSymbolProvider(session) { + + val providers: List<FirSymbolProvider> = providers.flatMap { + when (it) { + is FirCompositeSymbolProvider -> it.providers + is FirDependenciesSymbolProviderImpl -> it.dependencyProviders + else -> listOf(it) + } + } + private val classCache = session.firCachesFactory.createCache(::computeClass) private val topLevelCallableCache = session.firCachesFactory.createCache(::computeTopLevelCallables) private val topLevelFunctionCache = session.firCachesFactory.createCache(::computeTopLevelFunctions)
diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirDependenciesSymbolProviderImpl.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirDependenciesSymbolProviderImpl.kt index 052fd4e..f9399c6 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirDependenciesSymbolProviderImpl.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirDependenciesSymbolProviderImpl.kt
@@ -43,7 +43,7 @@ knownTopLevelClassifiers(fqName) } - protected open val dependencyProviders by lazy { + val dependencyProviders by lazy { val moduleData = session.nullableModuleData ?: error("FirDependenciesSymbolProvider should not be created if there are no dependencies") val visited = mutableSetOf<FirSymbolProvider>()