MPP: Do not report ACTUAL_WITHOUT_EXPECT if compatibility is null for all modules

This fixes diagnostic tests
This commit is contained in:
Alexey Sedunov
2018-03-12 15:58:14 +03:00
parent c0a17f72a7
commit 1be33b91fa
@@ -117,13 +117,10 @@ object ExpectedActualDeclarationChecker : DeclarationChecker {
// So yet we are using own module in compiler context and common module in IDE context.
val commonOrOwnModules = descriptor.module.expectedByModules.ifEmpty { listOf(descriptor.module) }
val compatibility = commonOrOwnModules
.asSequence()
.fold(LinkedHashMap<Compatibility, List<MemberDescriptor>>()) { resultMap, commonModule ->
val currentMap = ExpectedActualResolver.findExpectedForActual(descriptor, commonModule)
if (currentMap != null) {
resultMap.putAll(currentMap)
}
resultMap
.mapNotNull { ExpectedActualResolver.findExpectedForActual(descriptor, it) }
.ifEmpty { return }
.fold(LinkedHashMap<Compatibility, List<MemberDescriptor>>()) { resultMap, partialMap ->
resultMap.apply { putAll(partialMap) }
}
val hasActualModifier = descriptor.isActual && reportOn.hasActualModifier()