[LL] Fix rest library symbol providers computing the wrong package sets

- See KT-63718 for a detailed description of the issue. This fix is a
  workaround (see KT-64236).
- It's worth mentioning that it's too expensive to compute package sets
  for "all libraries except one". Package sets are just an optimization.

^KT-63718 fixed
This commit is contained in:
Marco Pennekamp
2023-12-11 17:47:40 +01:00
committed by Space Team
parent f2cb0f1407
commit fa3da87401
10 changed files with 106 additions and 20 deletions
@@ -44,6 +44,7 @@ class LLFirStandaloneLibrarySymbolProviderFactory(private val project: Project)
firJavaFacade: FirJavaFacade,
packagePartProvider: PackagePartProvider,
scope: GlobalSearchScope,
isFallbackDependenciesProvider: Boolean,
): List<FirSymbolProvider> {
return listOf(
JvmClassFileBasedSymbolProvider(
@@ -64,6 +65,7 @@ class LLFirStandaloneLibrarySymbolProviderFactory(private val project: Project)
moduleDataProvider: SingleModuleDataProvider,
packagePartProvider: PackagePartProvider,
scope: GlobalSearchScope,
isFallbackDependenciesProvider: Boolean,
): List<FirSymbolProvider> {
return buildList {
add(
@@ -88,6 +90,7 @@ class LLFirStandaloneLibrarySymbolProviderFactory(private val project: Project)
kotlinScopeProvider: FirKotlinScopeProvider,
moduleDataProvider: SingleModuleDataProvider,
scope: GlobalSearchScope,
isFallbackDependenciesProvider: Boolean,
): List<FirSymbolProvider> {
val forwardDeclarationsModuleData = BinaryModuleData.createDependencyModuleData(
FORWARD_DECLARATIONS_MODULE_NAME,
@@ -109,6 +112,7 @@ class LLFirStandaloneLibrarySymbolProviderFactory(private val project: Project)
kotlinScopeProvider: FirKotlinScopeProvider,
moduleDataProvider: SingleModuleDataProvider,
scope: GlobalSearchScope,
isFallbackDependenciesProvider: Boolean,
): List<FirSymbolProvider> {
val kLibs = moduleData.getLibraryKLibs()