From 935c9fce17f37570692985c76e9fe7b96f6b10d6 Mon Sep 17 00:00:00 2001 From: Dmitry Savvinov Date: Tue, 9 Apr 2019 11:41:20 +0300 Subject: [PATCH] [Misc] Extract method in ExpectedActualDeclarationChecker for clarity --- .../checkers/ExpectedActualDeclarationChecker.kt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExpectedActualDeclarationChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExpectedActualDeclarationChecker.kt index 8527098a522..a09ccca2efe 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExpectedActualDeclarationChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExpectedActualDeclarationChecker.kt @@ -79,10 +79,7 @@ class ExpectedActualDeclarationChecker(val argumentExtractors: List - 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> + ): 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) { if (this is ExpectActualTracker.DoNothing) return