[FIR] Deprecate FirExtensionsService
This commit is contained in:
+2
-2
@@ -55,7 +55,7 @@ import org.jetbrains.kotlin.fir.backend.Fir2IrConverter
|
||||
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmClassCodegen
|
||||
import org.jetbrains.kotlin.fir.builder.RawFirBuilder
|
||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar
|
||||
import org.jetbrains.kotlin.fir.extensions.extensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.oldExtensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.registerExtensions
|
||||
import org.jetbrains.kotlin.fir.java.FirJavaModuleBasedSession
|
||||
import org.jetbrains.kotlin.fir.java.FirLibrarySession
|
||||
@@ -327,7 +327,7 @@ object KotlinToJVMBytecodeCompiler {
|
||||
dependenciesInfo, provider, librariesScope,
|
||||
project, environment.createPackagePartProvider(librariesScope)
|
||||
)
|
||||
it.extensionsService.registerExtensions(FirExtensionRegistrar.RegisteredExtensions.EMPTY)
|
||||
it.oldExtensionsService.registerExtensions(FirExtensionRegistrar.RegisteredExtensions.EMPTY)
|
||||
}
|
||||
val firProvider = (session.firProvider as FirProviderImpl)
|
||||
val builder = RawFirBuilder(session, firProvider.kotlinScopeProvider, stubMode = false)
|
||||
|
||||
+2
-2
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.analysis.collectors
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.analysis.checkersComponent
|
||||
import org.jetbrains.kotlin.fir.analysis.extensions.additionalCheckers
|
||||
import org.jetbrains.kotlin.fir.extensions.extensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.oldExtensionsService
|
||||
|
||||
object FirDiagnosticsCollector {
|
||||
fun create(session: FirSession): AbstractDiagnosticCollector {
|
||||
@@ -28,6 +28,6 @@ object FirDiagnosticsCollector {
|
||||
}
|
||||
|
||||
private fun FirSession.registerAdditionalCheckers() {
|
||||
extensionsService.additionalCheckers.forEach(checkersComponent::register)
|
||||
oldExtensionsService.additionalCheckers.forEach(checkersComponent::register)
|
||||
}
|
||||
}
|
||||
+4
-4
@@ -36,14 +36,14 @@ abstract class FirAdditionalCheckersExtension(session: FirSession) : AbstractFir
|
||||
get() = Mode.ALL
|
||||
}
|
||||
|
||||
val FirExtensionsService.additionalCheckers: List<FirAdditionalCheckersExtension> by FirExtensionsService.additionalCheckers()
|
||||
val FirOldExtensionsService.additionalCheckers: List<FirAdditionalCheckersExtension> by FirOldExtensionsService.additionalCheckers()
|
||||
|
||||
private fun FirExtensionsService.Companion.additionalCheckers(): ReadOnlyProperty<FirExtensionsService, List<FirAdditionalCheckersExtension>> {
|
||||
private fun FirOldExtensionsService.Companion.additionalCheckers(): ReadOnlyProperty<FirOldExtensionsService, List<FirAdditionalCheckersExtension>> {
|
||||
val accessor = generateAccessor<FirRegisteredExtension<AbstractFirAdditionalCheckersExtension>, AbstractFirAdditionalCheckersExtension>(
|
||||
AbstractFirAdditionalCheckersExtension::class
|
||||
)
|
||||
return object : ReadOnlyProperty<FirExtensionsService, List<FirAdditionalCheckersExtension>> {
|
||||
override fun getValue(thisRef: FirExtensionsService, property: KProperty<*>): List<FirAdditionalCheckersExtension> {
|
||||
return object : ReadOnlyProperty<FirOldExtensionsService, List<FirAdditionalCheckersExtension>> {
|
||||
override fun getValue(thisRef: FirOldExtensionsService, property: KProperty<*>): List<FirAdditionalCheckersExtension> {
|
||||
val extensions = accessor.getValue(thisRef, property)
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
return extensions.extensionsWithAllMode as List<FirAdditionalCheckersExtension>
|
||||
|
||||
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.FirSessionBase
|
||||
import org.jetbrains.kotlin.fir.FirSessionProvider
|
||||
import org.jetbrains.kotlin.fir.analysis.CheckersComponent
|
||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.FirOldExtensionsService
|
||||
import org.jetbrains.kotlin.fir.java.deserialization.KotlinDeserializedJvmSymbolsProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.FirProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
@@ -122,8 +122,8 @@ class FirLibrarySession private constructor(
|
||||
)
|
||||
|
||||
registerComponent(
|
||||
FirExtensionsService::class,
|
||||
FirExtensionsService(this)
|
||||
FirOldExtensionsService::class,
|
||||
FirOldExtensionsService(this)
|
||||
)
|
||||
|
||||
sessionProvider.sessionCache[moduleInfo] = this
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
package org.jetbrains.kotlin.fir
|
||||
|
||||
import org.jetbrains.kotlin.analyzer.ModuleInfo
|
||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.FirOldExtensionsService
|
||||
import org.jetbrains.kotlin.fir.resolve.*
|
||||
import org.jetbrains.kotlin.fir.resolve.impl.*
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.FirDeclaredMemberScopeProvider
|
||||
@@ -17,7 +17,7 @@ abstract class FirModuleBasedSession(override val moduleInfo: ModuleInfo, sessio
|
||||
registerComponent(FirQualifierResolver::class, FirQualifierResolverImpl(this))
|
||||
registerComponent(FirTypeResolver::class, FirTypeResolverImpl(this))
|
||||
registerComponent(FirDeclaredMemberScopeProvider::class, FirDeclaredMemberScopeProvider())
|
||||
registerComponent(FirExtensionsService::class, FirExtensionsService(this))
|
||||
registerComponent(FirOldExtensionsService::class, FirOldExtensionsService(this))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -43,4 +43,4 @@ abstract class FirClassGenerationExtension(session: FirSession) : FirExtension(s
|
||||
fun interface Factory : FirExtension.Factory<FirClassGenerationExtension>
|
||||
}
|
||||
|
||||
val FirExtensionsService.classGenerationExtensions: FirExtensionsService.ExtensionsAccessor<FirClassGenerationExtension> by FirExtensionsService.registeredExtensions()
|
||||
val FirOldExtensionsService.classGenerationExtensions: FirOldExtensionsService.ExtensionsAccessor<FirClassGenerationExtension> by FirOldExtensionsService.registeredExtensions()
|
||||
|
||||
+1
-1
@@ -57,7 +57,7 @@ abstract class FirExtensionRegistrar {
|
||||
}
|
||||
}
|
||||
|
||||
fun FirExtensionsService.registerExtensions(extensions: FirExtensionRegistrar.RegisteredExtensions) {
|
||||
fun FirOldExtensionsService.registerExtensions(extensions: FirExtensionRegistrar.RegisteredExtensions) {
|
||||
registerExtensions(FirStatusTransformerExtension::class, extensions.statusTransformerExtensions)
|
||||
registerExtensions(FirClassGenerationExtension::class, extensions.classGenerationExtensions)
|
||||
registerExtensions(AbstractFirAdditionalCheckersExtension::class, extensions.additionalCheckersExtensions)
|
||||
|
||||
+12
-6
@@ -35,14 +35,15 @@ class FirRegisteredExtension<P : FirExtension>(
|
||||
}
|
||||
}
|
||||
|
||||
class FirExtensionsService(
|
||||
@Deprecated("")
|
||||
class FirOldExtensionsService(
|
||||
val session: FirSession
|
||||
) : ComponentArrayOwner<FirExtension, FirRegisteredExtension<*>>(), FirSessionComponent {
|
||||
companion object : TypeRegistry<FirExtension, FirRegisteredExtension<*>>() {
|
||||
inline fun <reified P : FirExtension, V : FirRegisteredExtension<P>> registeredExtensions(): ReadOnlyProperty<FirExtensionsService, ExtensionsAccessor<P>> {
|
||||
inline fun <reified P : FirExtension, V : FirRegisteredExtension<P>> registeredExtensions(): ReadOnlyProperty<FirOldExtensionsService, ExtensionsAccessor<P>> {
|
||||
val accessor = generateAccessor<V, P>(P::class)
|
||||
return object : ReadOnlyProperty<FirExtensionsService, ExtensionsAccessor<P>> {
|
||||
override fun getValue(thisRef: FirExtensionsService, property: KProperty<*>): ExtensionsAccessor<P> {
|
||||
return object : ReadOnlyProperty<FirOldExtensionsService, ExtensionsAccessor<P>> {
|
||||
override fun getValue(thisRef: FirOldExtensionsService, property: KProperty<*>): ExtensionsAccessor<P> {
|
||||
return ExtensionsAccessor(thisRef.session, accessor.getValue(thisRef, property))
|
||||
}
|
||||
}
|
||||
@@ -93,6 +94,7 @@ class FirExtensionsService(
|
||||
)
|
||||
}
|
||||
|
||||
@Deprecated("")
|
||||
fun registerUserDefinedAnnotation(metaAnnotation: AnnotationFqn, annotations: Collection<FirRegularClass>) {
|
||||
for (annotation in annotations) {
|
||||
require(annotation.classKind == ClassKind.ANNOTATION_CLASS)
|
||||
@@ -119,10 +121,12 @@ class FirExtensionsService(
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated("")
|
||||
val annotations: Set<AnnotationFqn>
|
||||
get() = _annotations
|
||||
private val _annotations: MutableSet<AnnotationFqn> = mutableSetOf()
|
||||
|
||||
@Deprecated("")
|
||||
val metaAnnotations: Set<AnnotationFqn>
|
||||
get() = _metaAnnotations
|
||||
private val _metaAnnotations: MutableSet<AnnotationFqn> = mutableSetOf()
|
||||
@@ -130,6 +134,7 @@ class FirExtensionsService(
|
||||
private val extensionsWithMetaAnnotations: Multimap<AnnotationFqn, FirExtension> = createMultimap()
|
||||
|
||||
// MetaAnnotation -> Annotations
|
||||
@Deprecated("")
|
||||
val userDefinedAnnotations: Multimap<AnnotationFqn, AnnotationFqn> = createMultimap()
|
||||
|
||||
var registeredExtensionsSize: Int = 0
|
||||
@@ -170,12 +175,13 @@ class FirExtensionsService(
|
||||
}
|
||||
}
|
||||
|
||||
val FirSession.extensionsService: FirExtensionsService by FirSession.sessionComponentAccessor()
|
||||
@Deprecated("")
|
||||
val FirSession.oldExtensionsService: FirOldExtensionsService by FirSession.sessionComponentAccessor()
|
||||
|
||||
fun FirAnnotationCall.fqName(session: FirSession): FqName? {
|
||||
val symbol = session.firSymbolProvider.getSymbolByTypeRef<FirRegularClassSymbol>(annotationTypeRef) ?: return null
|
||||
return symbol.classId.asSingleFqName()
|
||||
}
|
||||
|
||||
val FirExtensionsService.hasExtensions: Boolean
|
||||
val FirOldExtensionsService.hasExtensions: Boolean
|
||||
get() = registeredExtensionsSize > 0
|
||||
+1
-1
@@ -28,7 +28,7 @@ abstract class FirStatusTransformerExtension(session: FirSession) : FirExtension
|
||||
fun interface Factory : FirExtension.Factory<FirStatusTransformerExtension>
|
||||
}
|
||||
|
||||
val FirExtensionsService.statusTransformerExtensions: FirExtensionsService.ExtensionsAccessor<FirStatusTransformerExtension> by FirExtensionsService.registeredExtensions()
|
||||
val FirOldExtensionsService.statusTransformerExtensions: FirOldExtensionsService.ExtensionsAccessor<FirStatusTransformerExtension> by FirOldExtensionsService.registeredExtensions()
|
||||
|
||||
inline fun FirDeclarationStatus.transform(
|
||||
visibility: Visibility = this.visibility,
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||
import org.jetbrains.kotlin.fir.extensions.extensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.oldExtensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.statusTransformerExtensions
|
||||
import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
|
||||
import org.jetbrains.kotlin.fir.visitors.compose
|
||||
@@ -165,7 +165,7 @@ class FirStatusResolveTransformer(
|
||||
|
||||
private fun <D> prepareStatus(declaration: D, status: FirDeclarationStatus): FirDeclarationStatus where D : FirDeclaration, D : FirAnnotationContainer {
|
||||
var result = status
|
||||
session.extensionsService.statusTransformerExtensions.forDeclaration(declaration, classes).forEach {
|
||||
session.oldExtensionsService.statusTransformerExtensions.forDeclaration(declaration, classes).forEach {
|
||||
result = it.transformStatus(declaration, status)
|
||||
}
|
||||
return result
|
||||
|
||||
+2
-2
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||
import org.jetbrains.kotlin.fir.extensions.FirClassGenerationExtension
|
||||
import org.jetbrains.kotlin.fir.extensions.classGenerationExtensions
|
||||
import org.jetbrains.kotlin.fir.extensions.extensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.oldExtensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.hasExtensions
|
||||
import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
|
||||
import org.jetbrains.kotlin.fir.visitors.FirDefaultTransformer
|
||||
@@ -22,7 +22,7 @@ class FirFirstGenerationTransformer : FirDefaultTransformer<Nothing?>() {
|
||||
private lateinit var session: FirSession
|
||||
private val generatedDeclarations: MutableList<FirClassGenerationExtension.GeneratedClass> = mutableListOf()
|
||||
private lateinit var file: FirFile
|
||||
private val extensionPointService get() = session.extensionsService
|
||||
private val extensionPointService get() = session.oldExtensionsService
|
||||
|
||||
override fun transformFile(file: FirFile, data: Nothing?): CompositeTransformResult<FirDeclaration> {
|
||||
session = file.session
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ class FirPluginAnnotationsResolveTransformer(
|
||||
private val annotationTransformer = FirAnnotationResolveTransformer(session, scopeSession)
|
||||
private val importTransformer = FirPartialImportResolveTransformer(session)
|
||||
|
||||
private val extensionPointService = session.extensionsService
|
||||
val extensionPointService = session.oldExtensionsService
|
||||
|
||||
override fun <E : FirElement> transformElement(element: E, data: Nothing?): CompositeTransformResult<E> {
|
||||
throw IllegalStateException("Should not be here")
|
||||
|
||||
+5
-5
@@ -26,9 +26,9 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirDiagnostic
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirPsiDiagnostic
|
||||
import org.jetbrains.kotlin.fir.builder.RawFirBuilder
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.FirOldExtensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar
|
||||
import org.jetbrains.kotlin.fir.extensions.extensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.oldExtensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.registerExtensions
|
||||
import org.jetbrains.kotlin.fir.java.FirJavaModuleBasedSession
|
||||
import org.jetbrains.kotlin.fir.java.FirLibrarySession
|
||||
@@ -80,7 +80,7 @@ abstract class AbstractFirBaseDiagnosticsTest : BaseDiagnosticsTest() {
|
||||
builtInsModuleInfo, sessionProvider, allProjectScope, project,
|
||||
environment.createPackagePartProvider(allProjectScope)
|
||||
).also {
|
||||
registerFirExtensions(it.extensionsService)
|
||||
registerFirExtensions(it.oldExtensionsService)
|
||||
}
|
||||
|
||||
val configToSession = modules.mapValues { (config, info) ->
|
||||
@@ -89,7 +89,7 @@ abstract class AbstractFirBaseDiagnosticsTest : BaseDiagnosticsTest() {
|
||||
project,
|
||||
moduleFiles.mapNotNull { it.ktFile })
|
||||
FirJavaModuleBasedSession(info, sessionProvider, scope).also {
|
||||
registerFirExtensions(it.extensionsService)
|
||||
registerFirExtensions(it.oldExtensionsService)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ abstract class AbstractFirBaseDiagnosticsTest : BaseDiagnosticsTest() {
|
||||
runAnalysis(testDataFile, files, firFilesPerSession)
|
||||
}
|
||||
|
||||
open fun registerFirExtensions(service: FirExtensionsService) {
|
||||
open fun registerFirExtensions(service: FirOldExtensionsService) {
|
||||
service.registerExtensions(FirExtensionRegistrar.RegisteredExtensions.EMPTY)
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar
|
||||
import org.jetbrains.kotlin.fir.extensions.extensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.oldExtensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.registerExtensions
|
||||
import org.jetbrains.kotlin.fir.java.FirJavaModuleBasedSession
|
||||
import org.jetbrains.kotlin.fir.java.FirLibrarySession
|
||||
@@ -35,7 +35,7 @@ fun createSession(
|
||||
val provider = FirProjectSessionProvider(project)
|
||||
return FirJavaModuleBasedSession(moduleInfo, provider, sourceScope).also {
|
||||
createSessionForDependencies(project, provider, moduleInfo, librariesScope, packagePartProvider)
|
||||
it.extensionsService.registerExtensions(FirExtensionRegistrar.RegisteredExtensions.EMPTY)
|
||||
it.oldExtensionsService.registerExtensions(FirExtensionRegistrar.RegisteredExtensions.EMPTY)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirDiagnostic
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirPsiDiagnostic
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar
|
||||
import org.jetbrains.kotlin.fir.extensions.extensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.oldExtensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.registerExtensions
|
||||
import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider
|
||||
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||
@@ -40,7 +40,7 @@ interface FirModuleResolveState {
|
||||
sessionProvider.sessionCache[moduleInfo] = moduleBasedSession
|
||||
}
|
||||
session.also {
|
||||
it.extensionsService.registerExtensions(FirExtensionRegistrar.RegisteredExtensions.EMPTY)
|
||||
it.oldExtensionsService.registerExtensions(FirExtensionRegistrar.RegisteredExtensions.EMPTY)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.dependenciesWithoutSelf
|
||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar
|
||||
import org.jetbrains.kotlin.fir.extensions.extensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.oldExtensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.registerExtensions
|
||||
import org.jetbrains.kotlin.fir.java.FirJavaModuleBasedSession
|
||||
import org.jetbrains.kotlin.fir.java.FirLibrarySession
|
||||
@@ -72,7 +72,7 @@ abstract class AbstractFirMultiModuleResolveTest : AbstractMultiModuleTest() {
|
||||
private fun createSession(module: Module, provider: FirProjectSessionProvider): FirJavaModuleBasedSession {
|
||||
val moduleInfo = module.productionSourceInfo()!!
|
||||
return FirJavaModuleBasedSession(moduleInfo, provider, moduleInfo.contentScope()).also {
|
||||
it.extensionsService.registerExtensions(FirExtensionRegistrar.RegisteredExtensions.EMPTY)
|
||||
it.oldExtensionsService.registerExtensions(FirExtensionRegistrar.RegisteredExtensions.EMPTY)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -8,12 +8,12 @@ package org.jetbrains.kotlin.fir.plugin
|
||||
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoot
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.fir.AbstractFirDiagnosticsTest
|
||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.FirOldExtensionsService
|
||||
import org.jetbrains.kotlin.fir.extensions.registerExtensions
|
||||
import java.io.File
|
||||
|
||||
abstract class AbstractFirAllOpenDiagnosticTest : AbstractFirDiagnosticsTest() {
|
||||
override fun registerFirExtensions(service: FirExtensionsService) {
|
||||
override fun registerFirExtensions(service: FirOldExtensionsService) {
|
||||
service.registerExtensions(FirAllOpenComponentRegistrar().configure())
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user