[FIR] Deprecate FirExtensionsService
This commit is contained in:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user