[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 =
|
val shouldReportError =
|
||||||
compatibility.allStrongIncompatibilities() ||
|
compatibility.allStrongIncompatibilities() ||
|
||||||
Compatible !in compatibility && compatibility.values.flatMapTo(hashSetOf()) { it }.all { actual ->
|
Compatible !in compatibility && descriptor.hasNoActualWithDiagnostic(compatibility)
|
||||||
val expectedOnes = ExpectedActualResolver.findExpectedForActual(actual, descriptor.module)
|
|
||||||
expectedOnes != null && Compatible in expectedOnes.keys
|
|
||||||
}
|
|
||||||
|
|
||||||
if (shouldReportError) {
|
if (shouldReportError) {
|
||||||
assert(compatibility.keys.all { it is Incompatible })
|
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>) {
|
private fun ExpectActualTracker.reportExpectActual(expected: MemberDescriptor, actualMembers: Sequence<MemberDescriptor>) {
|
||||||
if (this is ExpectActualTracker.DoNothing) return
|
if (this is ExpectActualTracker.DoNothing) return
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user