[FIR] Get rid of FirSession.moduleInfo

This commit is contained in:
Dmitriy Novozhilov
2021-04-30 11:11:03 +03:00
committed by TeamCityServer
parent 57a8642f5a
commit f16194e60d
19 changed files with 65 additions and 77 deletions
@@ -5,38 +5,26 @@
package org.jetbrains.kotlin.fir.java
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.analyzer.ModuleInfo
import org.jetbrains.kotlin.fir.*
@OptIn(PrivateSessionConstructor::class)
class FirJavaModuleBasedSession @PrivateSessionConstructor constructor(
moduleInfo: ModuleInfo,
sessionProvider: FirProjectSessionProvider,
) : FirModuleBasedSession(moduleInfo, sessionProvider) {
init {
sessionProvider.registerSession(moduleInfo, this)
}
}
) : FirModuleBasedSession(sessionProvider)
@OptIn(PrivateSessionConstructor::class)
class FirLibrarySession @PrivateSessionConstructor constructor(
override val moduleInfo: ModuleInfo,
sessionProvider: FirProjectSessionProvider,
) : FirSession(sessionProvider) {
init {
sessionProvider.registerSession(moduleInfo, this)
sessionProvider: FirProjectSessionProvider
) : FirSession(sessionProvider)
open class FirProjectSessionProvider : FirSessionProvider() {
override fun getSession(moduleData: FirModuleData): FirSession? {
return sessionCache[moduleData]
}
}
open class FirProjectSessionProvider : FirSessionProvider {
override fun getSession(moduleInfo: ModuleInfo): FirSession? {
return sessionCache[moduleInfo]
}
fun registerSession(moduleInfo: ModuleInfo, session: FirSession) {
sessionCache[moduleInfo] = session
}
protected open val sessionCache: MutableMap<ModuleInfo, FirSession> = mutableMapOf()
fun registerSession(moduleData: FirModuleData, session: FirSession) {
sessionCache[moduleData] = session
}
protected open val sessionCache: MutableMap<FirModuleData, FirSession> = mutableMapOf()
}
@@ -18,8 +18,6 @@ class FirJavaEnhancementContext private constructor(
this(session, lazy(LazyThreadSafetyMode.NONE, typeQualifiersComputation))
val defaultTypeQualifiers: JavaTypeQualifiersByElementType? by delegateForDefaultTypeQualifiers
val moduleInfo get() = session.moduleInfo
}
fun extractDefaultNullabilityQualifier(