diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/extensions/FirExtensionPoint.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/extensions/FirExtensionPoint.kt new file mode 100644 index 00000000000..ebcd9c64e22 --- /dev/null +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/extensions/FirExtensionPoint.kt @@ -0,0 +1,21 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.fir.extensions + +import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.name.Name + +abstract class FirExtensionPoint(val session: FirSession) { + abstract val name: FirExtensionPointName + + fun interface Factory
{ + fun create(session: FirSession): P + } +} + +data class FirExtensionPointName(val name: Name) { + constructor(name: String) : this(Name.identifier(name)) +} diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/extensions/FirRegisteredExtension.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/extensions/FirExtensionPointService.kt similarity index 82% rename from compiler/fir/resolve/src/org/jetbrains/kotlin/fir/extensions/FirRegisteredExtension.kt rename to compiler/fir/resolve/src/org/jetbrains/kotlin/fir/extensions/FirExtensionPointService.kt index 6cbef064f66..66ae2bf202f 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/extensions/FirRegisteredExtension.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/extensions/FirExtensionPointService.kt @@ -9,23 +9,10 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSessionComponent import org.jetbrains.kotlin.fir.utils.ComponentArrayOwner import org.jetbrains.kotlin.fir.utils.ComponentTypeRegistry -import org.jetbrains.kotlin.name.Name import kotlin.properties.ReadOnlyProperty import kotlin.reflect.KClass import kotlin.reflect.KProperty -abstract class FirExtensionPoint(val session: FirSession) { - abstract val name: FirExtensionPointName - - fun interface Factory
{ - fun create(session: FirSession): P - } -} - -data class FirExtensionPointName(val name: Name) { - constructor(name: String) : this(Name.identifier(name)) -} - @Suppress("EXPERIMENTAL_FEATURE_WARNING") inline class FirRegisteredExtension
(val extensions: List
) @@ -51,4 +38,4 @@ class FirExtensionPointService( } } -val FirSession.extensionPointService: FirExtensionPointService by FirSession.sessionComponentAccessor() +val FirSession.extensionPointService: FirExtensionPointService by FirSession.sessionComponentAccessor() \ No newline at end of file