[FIR] Introduce module :fir:entrypoint and FirSessionFactory for creating sessions
This commit is contained in:
@@ -15,9 +15,12 @@ import org.jetbrains.kotlin.fir.utils.TypeRegistry
|
||||
import org.jetbrains.kotlin.utils.Jsr305State
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
@RequiresOptIn
|
||||
annotation class PrivateSessionConstructor
|
||||
|
||||
interface FirSessionComponent
|
||||
|
||||
abstract class FirSession(val sessionProvider: FirSessionProvider?) : ComponentArrayOwner<FirSessionComponent, FirSessionComponent>() {
|
||||
abstract class FirSession @PrivateSessionConstructor constructor(val sessionProvider: FirSessionProvider?) : ComponentArrayOwner<FirSessionComponent, FirSessionComponent>() {
|
||||
companion object : TypeRegistry<FirSessionComponent, FirSessionComponent>() {
|
||||
inline fun <reified T : FirSessionComponent> sessionComponentAccessor(): ArrayMapAccessor<FirSessionComponent, FirSessionComponent, T> {
|
||||
return generateAccessor(T::class)
|
||||
@@ -64,4 +67,4 @@ class BuiltinTypes {
|
||||
val nullableNothingType: FirImplicitBuiltinTypeRef = FirImplicitNullableNothingTypeRef(null)
|
||||
val charType: FirImplicitBuiltinTypeRef = FirImplicitCharTypeRef(null)
|
||||
val stringType: FirImplicitBuiltinTypeRef = FirImplicitStringTypeRef(null)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user