diff --git a/compiler/fir/analysis-tests/testData/resolve/diagnostics/primaryConstructorRequiredForDataClass.kt b/compiler/fir/analysis-tests/testData/resolve/diagnostics/primaryConstructorRequiredForDataClass.kt index 948c6171ae5..eb6b88d9f6a 100644 --- a/compiler/fir/analysis-tests/testData/resolve/diagnostics/primaryConstructorRequiredForDataClass.kt +++ b/compiler/fir/analysis-tests/testData/resolve/diagnostics/primaryConstructorRequiredForDataClass.kt @@ -1,9 +1,9 @@ -data class A {} +data class A {} -data class B { +data class B { constructor() -} +} -data class C { +data class C { constructor(x: Int) -} +} diff --git a/compiler/fir/analysis-tests/testData/resolve/smartcasts/lambdas/lambdaInWhenBranch.kt b/compiler/fir/analysis-tests/testData/resolve/smartcasts/lambdas/lambdaInWhenBranch.kt index 5dce7808d22..8f1be2f0d9d 100644 --- a/compiler/fir/analysis-tests/testData/resolve/smartcasts/lambdas/lambdaInWhenBranch.kt +++ b/compiler/fir/analysis-tests/testData/resolve/smartcasts/lambdas/lambdaInWhenBranch.kt @@ -4,7 +4,7 @@ private sealed class Sealed private data class SubClass1(val t: String) : Sealed() -private data class SubClass2 : Sealed() +private data class SubClass2 : Sealed() private fun foo(p: Sealed) { when (p) { diff --git a/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/FirDiagnosticsList.kt b/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/FirDiagnosticsList.kt index f92a35b743b..010cd3bb156 100644 --- a/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/FirDiagnosticsList.kt +++ b/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/FirDiagnosticsList.kt @@ -101,7 +101,7 @@ object DIAGNOSTICS_LIST : DiagnosticList() { val PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED by warning(PositioningStrategy.SECONDARY_CONSTRUCTOR_DELEGATION_CALL) val SUPERTYPE_INITIALIZED_WITHOUT_PRIMARY_CONSTRUCTOR by warning() val DELEGATION_SUPER_CALL_IN_ENUM_CONSTRUCTOR by warning() - val PRIMARY_CONSTRUCTOR_REQUIRED_FOR_DATA_CLASS by error() + val PRIMARY_CONSTRUCTOR_REQUIRED_FOR_DATA_CLASS by error(PositioningStrategy.DECLARATION_NAME) val EXPLICIT_DELEGATION_CALL_REQUIRED by warning(PositioningStrategy.SECONDARY_CONSTRUCTOR_DELEGATION_CALL) val SEALED_CLASS_CONSTRUCTOR_CALL by error() diff --git a/compiler/fir/checkers/gen/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrors.kt b/compiler/fir/checkers/gen/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrors.kt index 92a9c00b7b4..b341529683e 100644 --- a/compiler/fir/checkers/gen/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrors.kt +++ b/compiler/fir/checkers/gen/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrors.kt @@ -105,7 +105,7 @@ object FirErrors { val PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED by warning0(SourceElementPositioningStrategies.SECONDARY_CONSTRUCTOR_DELEGATION_CALL) val SUPERTYPE_INITIALIZED_WITHOUT_PRIMARY_CONSTRUCTOR by warning0() val DELEGATION_SUPER_CALL_IN_ENUM_CONSTRUCTOR by warning0() - val PRIMARY_CONSTRUCTOR_REQUIRED_FOR_DATA_CLASS by error0() + val PRIMARY_CONSTRUCTOR_REQUIRED_FOR_DATA_CLASS by error0(SourceElementPositioningStrategies.DECLARATION_NAME) val EXPLICIT_DELEGATION_CALL_REQUIRED by warning0(SourceElementPositioningStrategies.SECONDARY_CONSTRUCTOR_DELEGATION_CALL) val SEALED_CLASS_CONSTRUCTOR_CALL by error0() val DATA_CLASS_WITHOUT_PARAMETERS by error0() diff --git a/compiler/testData/diagnostics/tests/dataClasses/dataClassNoName.fir.kt b/compiler/testData/diagnostics/tests/dataClasses/dataClassNoName.fir.kt index 99f67431890..fc2c257e805 100644 --- a/compiler/testData/diagnostics/tests/dataClasses/dataClassNoName.fir.kt +++ b/compiler/testData/diagnostics/tests/dataClasses/dataClassNoName.fir.kt @@ -1,7 +1,7 @@ // See EA-73584 -data class { +data class { -} +} // See KT-9296 data interface { diff --git a/compiler/testData/diagnostics/tests/dataClasses/noConstructor.fir.kt b/compiler/testData/diagnostics/tests/dataClasses/noConstructor.fir.kt index 06c664e8f6e..a1310068c66 100644 --- a/compiler/testData/diagnostics/tests/dataClasses/noConstructor.fir.kt +++ b/compiler/testData/diagnostics/tests/dataClasses/noConstructor.fir.kt @@ -1,4 +1,4 @@ -data class A +data class A fun foo(a: A) { a.component1() diff --git a/compiler/testData/diagnostics/tests/secondaryConstructors/dataClasses.fir.kt b/compiler/testData/diagnostics/tests/secondaryConstructors/dataClasses.fir.kt index 8c81f82b4b6..fb0a516d99f 100644 --- a/compiler/testData/diagnostics/tests/secondaryConstructors/dataClasses.fir.kt +++ b/compiler/testData/diagnostics/tests/secondaryConstructors/dataClasses.fir.kt @@ -7,8 +7,8 @@ data class A2(val y: String, val z: Int) { constructor(x: String): this(x, 0) } -data class A3 { +data class A3 { constructor() -} +} data class A4 internal constructor() diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/diagnostics/KtFirDiagnostics.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/diagnostics/KtFirDiagnostics.kt index c8147bfe9cc..3f0204d8b14 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/diagnostics/KtFirDiagnostics.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/diagnostics/KtFirDiagnostics.kt @@ -224,7 +224,7 @@ sealed class KtFirDiagnostic : KtDiagnosticWithPsi { override val diagnosticClass get() = DelegationSuperCallInEnumConstructor::class } - abstract class PrimaryConstructorRequiredForDataClass : KtFirDiagnostic() { + abstract class PrimaryConstructorRequiredForDataClass : KtFirDiagnostic() { override val diagnosticClass get() = PrimaryConstructorRequiredForDataClass::class } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/diagnostics/KtFirDiagnosticsImpl.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/diagnostics/KtFirDiagnosticsImpl.kt index 6dcf6491ca0..0ef134e3334 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/diagnostics/KtFirDiagnosticsImpl.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/diagnostics/KtFirDiagnosticsImpl.kt @@ -357,7 +357,7 @@ internal class DelegationSuperCallInEnumConstructorImpl( internal class PrimaryConstructorRequiredForDataClassImpl( firDiagnostic: FirPsiDiagnostic<*>, override val token: ValidityToken, -) : KtFirDiagnostic.PrimaryConstructorRequiredForDataClass(), KtAbstractFirDiagnostic { +) : KtFirDiagnostic.PrimaryConstructorRequiredForDataClass(), KtAbstractFirDiagnostic { override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic) }