[Misc] Extract method in ExpectedActualDeclarationChecker for clarity
This commit is contained in:
+10
-4
@@ -79,10 +79,7 @@ class ExpectedActualDeclarationChecker(val argumentExtractors: List<ActualAnnota
|
||||
|
||||
val shouldReportError =
|
||||
compatibility.allStrongIncompatibilities() ||
|
||||
Compatible !in compatibility && compatibility.values.flatMapTo(hashSetOf()) { it }.all { actual ->
|
||||
val expectedOnes = ExpectedActualResolver.findExpectedForActual(actual, descriptor.module)
|
||||
expectedOnes != null && Compatible in expectedOnes.keys
|
||||
}
|
||||
Compatible !in compatibility && descriptor.hasNoActualWithDiagnostic(compatibility)
|
||||
|
||||
if (shouldReportError) {
|
||||
assert(compatibility.keys.all { it is Incompatible })
|
||||
@@ -99,6 +96,15 @@ class ExpectedActualDeclarationChecker(val argumentExtractors: List<ActualAnnota
|
||||
}
|
||||
}
|
||||
|
||||
private fun MemberDescriptor.hasNoActualWithDiagnostic(
|
||||
compatibility: Map<Compatibility, List<MemberDescriptor>>
|
||||
): Boolean {
|
||||
return compatibility.values.flatMapTo(hashSetOf()) { it }.all { actual ->
|
||||
val expectedOnes = ExpectedActualResolver.findExpectedForActual(actual, module)
|
||||
expectedOnes != null && Compatible in expectedOnes.keys
|
||||
}
|
||||
}
|
||||
|
||||
private fun ExpectActualTracker.reportExpectActual(expected: MemberDescriptor, actualMembers: Sequence<MemberDescriptor>) {
|
||||
if (this is ExpectActualTracker.DoNothing) return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user