[LL FIR] KTIJ-25536 Add callable package names workaround for LLFirProvider$SymbolProvider
- Sadly, the only way for now is to disable computation of the callable package names, which will negatively affect performance.
This commit is contained in:
committed by
Space Team
parent
a61c6f6502
commit
2540343159
+4
-1
@@ -83,7 +83,10 @@ internal class LLFirProviderHelper(
|
|||||||
val symbolNameCache = FirCompositeCachedSymbolNamesProvider.create(
|
val symbolNameCache = FirCompositeCachedSymbolNamesProvider.create(
|
||||||
firSession,
|
firSession,
|
||||||
listOfNotNull(
|
listOfNotNull(
|
||||||
LLFirKotlinSymbolNamesProvider(declarationProvider),
|
object : LLFirKotlinSymbolNamesProvider(declarationProvider) {
|
||||||
|
// This is a temporary workaround for KTIJ-25536.
|
||||||
|
override fun getPackageNamesWithTopLevelCallables(): Set<String>? = null
|
||||||
|
},
|
||||||
extensionTool?.symbolNamesProvider,
|
extensionTool?.symbolNamesProvider,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
+2
-2
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
/**
|
/**
|
||||||
* A [FirSymbolNamesProvider] that fetches top-level names from a Kotlin [declarationProvider].
|
* A [FirSymbolNamesProvider] that fetches top-level names from a Kotlin [declarationProvider].
|
||||||
*/
|
*/
|
||||||
internal class LLFirKotlinSymbolNamesProvider(
|
internal open class LLFirKotlinSymbolNamesProvider(
|
||||||
private val declarationProvider: KotlinDeclarationProvider,
|
private val declarationProvider: KotlinDeclarationProvider,
|
||||||
) : FirSymbolNamesProvider() {
|
) : FirSymbolNamesProvider() {
|
||||||
override fun getTopLevelClassifierNamesInPackage(packageFqName: FqName): Set<String> =
|
override fun getTopLevelClassifierNamesInPackage(packageFqName: FqName): Set<String> =
|
||||||
@@ -24,7 +24,7 @@ internal class LLFirKotlinSymbolNamesProvider(
|
|||||||
.getTopLevelKotlinClassLikeDeclarationNamesInPackage(packageFqName)
|
.getTopLevelKotlinClassLikeDeclarationNamesInPackage(packageFqName)
|
||||||
.mapTo(mutableSetOf()) { it.asString() }
|
.mapTo(mutableSetOf()) { it.asString() }
|
||||||
|
|
||||||
override fun getPackageNamesWithTopLevelCallables(): Set<String> =
|
override fun getPackageNamesWithTopLevelCallables(): Set<String>? =
|
||||||
declarationProvider.computePackageSetWithTopLevelCallableDeclarations()
|
declarationProvider.computePackageSetWithTopLevelCallableDeclarations()
|
||||||
|
|
||||||
override fun getTopLevelCallableNamesInPackage(packageFqName: FqName): Set<Name> =
|
override fun getTopLevelCallableNamesInPackage(packageFqName: FqName): Set<Name> =
|
||||||
|
|||||||
Reference in New Issue
Block a user