[FIR] Add late initialization of session in FirModuleData

This commit is contained in:
Dmitriy Novozhilov
2021-04-30 10:28:17 +03:00
committed by TeamCityServer
parent 5cfa8694d4
commit 92d6b39ffe
4 changed files with 30 additions and 24 deletions
@@ -14,7 +14,17 @@ abstract class FirModuleData : FirSessionComponent {
abstract val dependsOnDependencies: List<FirModuleData>
abstract val friendDependencies: List<FirModuleData>
abstract val platform: TargetPlatform
abstract val session: FirSession
private var _session: FirSession? = null
val session: FirSession
get() = _session!!
fun bindSession(session: FirSession) {
if (_session != null) {
error("session already bound to $this")
}
_session = session
}
}
class FirModuleDataImpl(
@@ -22,8 +32,7 @@ class FirModuleDataImpl(
override val dependencies: List<FirModuleData>,
override val dependsOnDependencies: List<FirModuleData>,
override val friendDependencies: List<FirModuleData>,
override val platform: TargetPlatform,
override val session: FirSession,
override val platform: TargetPlatform
) : FirModuleData()
val FirSession.moduleData: FirModuleData by FirSession.sessionComponentAccessor()