[AA] Add KtClass-based KotlinSealedInheritorsProvider
- The compiler's `SealedClassInheritorsProvider` should not be exposed outside LL FIR, as it is an internal compiler component and also exposes `FirRegularClass`. `KotlinSealedInheritorsProvider` is an Analysis API provider for sealed inheritors that accepts a `KtClass` instead. ^KT-64718 fixed
This commit is contained in:
committed by
Space Team
parent
e001fa4e72
commit
9a4bf0601e
+4
-4
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.FirSt
|
||||
import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.KtStaticProjectStructureProvider
|
||||
import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.LLFirStandaloneLibrarySymbolProviderFactory
|
||||
import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.StandaloneProjectFactory
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.services.FirSealedClassInheritorsProcessorFactory
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.services.LLSealedInheritorsProviderFactory
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.LLFirLibrarySymbolProviderFactory
|
||||
import org.jetbrains.kotlin.analysis.project.structure.KtSourceModule
|
||||
import org.jetbrains.kotlin.analysis.project.structure.builder.KtModuleProviderBuilder
|
||||
@@ -140,9 +140,9 @@ public class StandaloneAnalysisAPISessionBuilder(
|
||||
registerService(KotlinPackageProviderMerger::class.java, KotlinStaticPackageProviderMerger(this))
|
||||
|
||||
registerService(
|
||||
FirSealedClassInheritorsProcessorFactory::class.java,
|
||||
object : FirSealedClassInheritorsProcessorFactory() {
|
||||
override fun createSealedClassInheritorsProvider(): SealedClassInheritorsProvider {
|
||||
LLSealedInheritorsProviderFactory::class.java,
|
||||
object : LLSealedInheritorsProviderFactory {
|
||||
override fun createSealedInheritorsProvider(): SealedClassInheritorsProvider {
|
||||
return SealedClassInheritorsProviderImpl
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user