[FIR] Add kind to all FirSessions

This commit is contained in:
Dmitriy Novozhilov
2021-05-31 16:40:59 +03:00
committed by teamcityserver
parent 2c1ada131d
commit 8729421e7a
8 changed files with 17 additions and 16 deletions
@@ -13,4 +13,4 @@ import org.jetbrains.kotlin.fir.PrivateSessionConstructor
class FirIdeBuiltinsAndCloneableSession @PrivateSessionConstructor constructor(
override val project: Project,
builtinTypes: BuiltinTypes,
) : FirIdeSession(builtinTypes)
) : FirIdeSession(builtinTypes, Kind.Library)
@@ -19,4 +19,4 @@ internal class FirIdeLibrariesSession @PrivateSessionConstructor constructor(
override val project: Project,
override val scope: GlobalSearchScope,
builtinTypes: BuiltinTypes,
) : FirIdeModuleSession(builtinTypes)
) : FirIdeModuleSession(builtinTypes, Kind.Library)
@@ -12,11 +12,11 @@ import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.PrivateSessionConstructor
@OptIn(PrivateSessionConstructor::class)
abstract class FirIdeSession(override val builtinTypes: BuiltinTypes) : FirSession(sessionProvider = null) {
abstract class FirIdeSession(override val builtinTypes: BuiltinTypes, kind: Kind) : FirSession(sessionProvider = null, kind) {
abstract val project: Project
}
@OptIn(PrivateSessionConstructor::class)
abstract class FirIdeModuleSession(builtinTypes: BuiltinTypes) : FirIdeSession(builtinTypes) {
abstract class FirIdeModuleSession(builtinTypes: BuiltinTypes, kind: Kind) : FirIdeSession(builtinTypes, kind) {
abstract val scope: GlobalSearchScope
}
@@ -268,7 +268,7 @@ internal object FirIdeSessionFactory {
)
@OptIn(PrivateSessionConstructor::class)
fun createEmptySession(): FirSession {
return object : FirSession(null) {}.apply {
return object : FirSession(null, Kind.Source) {}.apply {
val moduleData = FirModuleDataImpl(
Name.identifier("<stub module>"),
dependencies = emptyList(),
@@ -20,7 +20,7 @@ internal class FirIdeSourcesSession @PrivateSessionConstructor constructor(
override val scope: GlobalSearchScope,
val firFileBuilder: FirFileBuilder,
builtinTypes: BuiltinTypes,
) : FirIdeModuleSession( builtinTypes) {
) : FirIdeModuleSession(builtinTypes, Kind.Source) {
val cache get() = firIdeProvider.cache
}