From 216006c504fbdb3974e8f58d473c3655d318800b Mon Sep 17 00:00:00 2001 From: Nikita Bobko Date: Thu, 16 Nov 2023 19:43:44 +0100 Subject: [PATCH] [FIR] NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS: report both mismatches and incompatibilites This commit is a preparation step for KT-59887. For now, expectActualInlineClass.fir.kt became slightly more verbose. Once is KT-59887 fixed, the verbosity will go away. Because we won't report incompatibilites mismatches for ACTUAL_MISSING declarations Review: https://jetbrains.team/p/kt/reviews/13094/timeline --- .../checkers/declaration/FirExpectActualDeclarationChecker.kt | 3 ++- .../multiplatform/inlineClasses/expectActualInlineClass.fir.kt | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirExpectActualDeclarationChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirExpectActualDeclarationChecker.kt index f7b199e9a6e..467feff92c2 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirExpectActualDeclarationChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirExpectActualDeclarationChecker.kt @@ -179,7 +179,8 @@ object FirExpectActualDeclarationChecker : FirBasicDeclarationChecker() { if (nonTrivialIncompatibleMembers.isNotEmpty()) { reporter.reportOn(source, FirErrors.NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS, symbol, nonTrivialIncompatibleMembers, context) - } else if (checkingCompatibility.mismatchedMembers.isNotEmpty()) { + } + if (checkingCompatibility.mismatchedMembers.isNotEmpty()) { reporter.reportOn(source, FirErrors.NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS, symbol, checkingCompatibility.mismatchedMembers, context) } } diff --git a/compiler/testData/diagnostics/tests/multiplatform/inlineClasses/expectActualInlineClass.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/inlineClasses/expectActualInlineClass.fir.kt index 5464de03ad4..b4afdf26ba3 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/inlineClasses/expectActualInlineClass.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/inlineClasses/expectActualInlineClass.fir.kt @@ -20,7 +20,7 @@ expect inline class NonInlineActual(val x: Int) actual inline class Foo1(val x: Int) { actual fun bar(): String = "Hello" } -actual inline class Foo2(val x: String) +actual inline class Foo2(val x: String) actual inline class Foo3 actual inline class NonInlineExpect(val x: Int)