From a5c8a20b69918dafe7748dd49fe48f86fc9ccc32 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Mon, 11 Apr 2022 16:17:02 +0200 Subject: [PATCH] [fir] add detailed error messages for MultipleModuleDataProvider checks --- .../kotlin/fir/deserialization/ModuleDataProvider.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ModuleDataProvider.kt b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ModuleDataProvider.kt index 0aefee167c5..9d1022cff54 100644 --- a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ModuleDataProvider.kt +++ b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ModuleDataProvider.kt @@ -35,8 +35,12 @@ class SingleModuleDataProvider(private val moduleData: FirModuleData) : ModuleDa class MultipleModuleDataProvider(private val moduleDataWithFilters: Map) : ModuleDataProvider() { init { require(moduleDataWithFilters.isNotEmpty()) { "ModuleDataProvider must contain at least one module data" } - require(moduleDataWithFilters.keys.same { it.platform }) { "All module data should have same target platform" } - require(moduleDataWithFilters.keys.same { it.analyzerServices }) { "All module data should have same analyzerServices" } + require(moduleDataWithFilters.keys.same { it.platform }) { + "All module data should have same target platform, but was: ${moduleDataWithFilters.keys.joinToString { "${it.name.asString()}: ${it.platform}" }}" + } + require(moduleDataWithFilters.keys.same { it.analyzerServices }) { + "All module data should have same analyzerServices, but was: ${moduleDataWithFilters.keys.joinToString { "${it.name.asString()}: ${it.analyzerServices::class.simpleName}" }}" + } } override val platform: TargetPlatform = allModuleData.first().platform