[FIR] Deprecate FirExtensionsService

This commit is contained in:
Dmitriy Novozhilov
2020-05-20 13:06:57 +03:00
parent f3d4fa715e
commit 0b00015424
17 changed files with 46 additions and 40 deletions
@@ -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)
}
}
@@ -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>