[fir] add detailed error messages for MultipleModuleDataProvider checks

This commit is contained in:
Ilya Kirillov
2022-04-11 16:17:02 +02:00
parent 0fa791e669
commit a5c8a20b69
@@ -35,8 +35,12 @@ class SingleModuleDataProvider(private val moduleData: FirModuleData) : ModuleDa
class MultipleModuleDataProvider(private val moduleDataWithFilters: Map<FirModuleData, LibraryPathFilter>) : 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