From dbfeeae696212477313d21123692d6851e143796 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Mon, 18 Jul 2022 11:26:35 +0200 Subject: [PATCH] [fir] add more info to the error message in FirModuleData --- .../api/fir/project/structure/LLFirModuleData.kt | 13 +++++++------ .../src/org/jetbrains/kotlin/fir/FirModuleData.kt | 3 ++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirModuleData.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirModuleData.kt index fbf3090eb60..f0b24ee2925 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirModuleData.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirModuleData.kt @@ -36,16 +36,17 @@ val FirSession.firKtModuleBasedModuleData: LLFirKtModuleBasedModuleData val FirBasedSymbol<*>.firModuleData: LLFirModuleData get() = fir.firModuleData -class LLFirBuiltinsModuleData(val useSiteKtModule: KtModule) : LLFirModuleData() { +class LLFirBuiltinsModuleData( + override val platform: TargetPlatform, + override val analyzerServices: PlatformDependentAnalyzerServices +) : LLFirModuleData() { override val name: Name - get() = Name.special("") + get() = Name.special("") override val dependencies: List get() = emptyList() override val dependsOnDependencies: List get() = emptyList() override val friendDependencies: List get() = emptyList() - override val platform: TargetPlatform get() = useSiteKtModule.platform - override val analyzerServices: PlatformDependentAnalyzerServices get() = useSiteKtModule.analyzerServices override fun equals(other: Any?): Boolean { if (this === other) return true @@ -53,13 +54,13 @@ class LLFirBuiltinsModuleData(val useSiteKtModule: KtModule) : LLFirModuleData() other as LLFirBuiltinsModuleData - if (useSiteKtModule != other.useSiteKtModule) return false + if (platform != other.platform) return false return true } override fun hashCode(): Int { - return useSiteKtModule.hashCode() + return platform.hashCode() } } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirModuleData.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirModuleData.kt index f827c306895..01715734ced 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirModuleData.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirModuleData.kt @@ -52,7 +52,8 @@ abstract class FirModuleData : FirSessionComponent { private var _session: FirSession? = null val session: FirSession - get() = _session ?: error("module data not bound to session") + get() = _session + ?: error("module data ${this::class.simpleName}:${name} not bound to session") fun bindSession(session: FirSession) { if (_session != null) {