fixup! [FIR] Report the use of `inline` on primary constructor parameters
diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineDeclarationChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineDeclarationChecker.kt index 692d704..dbc0989 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineDeclarationChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineDeclarationChecker.kt
@@ -444,9 +444,8 @@ if (effectiveVisibility == EffectiveVisibility.PrivateInClass) return true if (!declaration.isEffectivelyFinal(context)) { - if (declaration.source?.kind == KtFakeSourceElementKind.PropertyFromParameter) { - reporter.reportOn(declaration.source, FirErrors.DECLARATION_CANT_BE_INLINED_DEPRECATION, context) - } else { + // For primary constructor parameters there's INLINE_PROPERTY_WITH_BACKING_FIELD already + if (declaration.source?.kind != KtFakeSourceElementKind.PropertyFromParameter) { reporter.reportOn(declaration.source, FirErrors.DECLARATION_CANT_BE_INLINED, context) } return false
diff --git a/compiler/testData/diagnostics/tests/inlineConstructorParameter.fir.kt b/compiler/testData/diagnostics/tests/inlineConstructorParameter.fir.kt index 80cd159..342d218 100644 --- a/compiler/testData/diagnostics/tests/inlineConstructorParameter.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineConstructorParameter.fir.kt
@@ -2,7 +2,7 @@ // LANGUAGE: -ProhibitInlineModifierOnPrimaryConstructorParameters // WITH_STDLIB -enum class Foo(<!INLINE_PROPERTY_WITH_BACKING_FIELD_DEPRECATION_WARNING!>open <!DECLARATION_CANT_BE_INLINED_DEPRECATION_WARNING!>inline<!> /* no effect */ val bar: String<!>) { +enum class Foo(<!INLINE_PROPERTY_WITH_BACKING_FIELD_DEPRECATION_WARNING!>open inline /* no effect */ val bar: String<!>) { A("super") { override val bar: String get() = super.bar + " overridden"
diff --git a/compiler/testData/diagnostics/tests/inlineConstructorParameter_on.fir.kt b/compiler/testData/diagnostics/tests/inlineConstructorParameter_on.fir.kt index 8c6fc4f..14487bf 100644 --- a/compiler/testData/diagnostics/tests/inlineConstructorParameter_on.fir.kt +++ b/compiler/testData/diagnostics/tests/inlineConstructorParameter_on.fir.kt
@@ -2,7 +2,7 @@ // LANGUAGE: +ProhibitInlineModifierOnPrimaryConstructorParameters // WITH_STDLIB -enum class Foo(<!INLINE_PROPERTY_WITH_BACKING_FIELD_DEPRECATION_ERROR!>open <!DECLARATION_CANT_BE_INLINED_DEPRECATION_ERROR!>inline<!> /* no effect */ val bar: String<!>) { +enum class Foo(<!INLINE_PROPERTY_WITH_BACKING_FIELD_DEPRECATION_ERROR!>open inline /* no effect */ val bar: String<!>) { A("super") { override val bar: String get() = super.bar + " overridden"