fixup! [FIR] Remove duplicate diagnostics in metadata by making checkers `DSFAPFO` Make `FirSyntaxChecker` an expect checker.
diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/syntax/FirSyntaxChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/syntax/FirSyntaxChecker.kt index b603264..e379ba5 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/syntax/FirSyntaxChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/syntax/FirSyntaxChecker.kt
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirDeclarationChecker import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirExpressionChecker import org.jetbrains.kotlin.diagnostics.DiagnosticReporter +import org.jetbrains.kotlin.fir.analysis.checkers.CheckerSessionKind import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.expressions.FirStatement @@ -52,7 +53,7 @@ } abstract class FirDeclarationSyntaxChecker<in D : FirDeclaration, P : PsiElement> : - FirDeclarationChecker<D>(), + FirDeclarationChecker<D>(CheckerSessionKind.DeclarationSiteForExpectsPlatformForOthers), FirSyntaxChecker<D, P> { final override fun check(declaration: D, context: CheckerContext, reporter: DiagnosticReporter) { checkSyntax(declaration, context, reporter) @@ -60,7 +61,7 @@ } abstract class FirExpressionSyntaxChecker<in E : FirStatement, P : PsiElement> : - FirExpressionChecker<E>(), + FirExpressionChecker<E>(CheckerSessionKind.DeclarationSiteForExpectsPlatformForOthers), FirSyntaxChecker<E, P> { final override fun check(expression: E, context: CheckerContext, reporter: DiagnosticReporter) { checkSyntax(expression, context, reporter)
diff --git a/compiler/testData/diagnostics/tests/multiplatform/headerClass/inheritanceByDelegationInExpectClass.fir.kt b/compiler/testData/diagnostics/tests/multiplatform/headerClass/inheritanceByDelegationInExpectClass.fir.kt index d2d1e55..ebf5924 100644 --- a/compiler/testData/diagnostics/tests/multiplatform/headerClass/inheritanceByDelegationInExpectClass.fir.kt +++ b/compiler/testData/diagnostics/tests/multiplatform/headerClass/inheritanceByDelegationInExpectClass.fir.kt
@@ -4,6 +4,6 @@ interface A class B : A -<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect class Foo(b: B) : <!IMPLEMENTATION_BY_DELEGATION_IN_EXPECT_CLASS, IMPLEMENTATION_BY_DELEGATION_IN_EXPECT_CLASS{METADATA}!>A by b<!><!> +<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect class Foo(b: B) : <!IMPLEMENTATION_BY_DELEGATION_IN_EXPECT_CLASS!>A by b<!><!> -<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect class Bar : <!IMPLEMENTATION_BY_DELEGATION_IN_EXPECT_CLASS, IMPLEMENTATION_BY_DELEGATION_IN_EXPECT_CLASS{METADATA}!>A by B()<!><!> +<!NO_ACTUAL_FOR_EXPECT{JVM}!>expect class Bar : <!IMPLEMENTATION_BY_DELEGATION_IN_EXPECT_CLASS!>A by B()<!><!>