From 55104a594c03a8129ec279b0340826d3987675e8 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Fri, 7 May 2021 16:39:02 +0300 Subject: [PATCH] FIR: fix WRONG_GETTER(SETTER)_RETURN_TYPE associated PSI types --- .../checkers/generator/diagnostics/FirDiagnosticsList.kt | 4 ++-- .../jetbrains/kotlin/fir/analysis/diagnostics/FirErrors.kt | 4 ++-- .../idea/frontend/api/fir/diagnostics/KtFirDiagnostics.kt | 4 ++-- .../frontend/api/fir/diagnostics/KtFirDiagnosticsImpl.kt | 4 ++-- idea/testData/checker/regression/kt251.fir.kt | 6 +++--- 5 files changed, 11 insertions(+), 11 deletions(-) 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 9aedba147a0..f1df3243773 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 @@ -586,8 +586,8 @@ object DIAGNOSTICS_LIST : DiagnosticList() { } val GETTER_VISIBILITY_DIFFERS_FROM_PROPERTY_VISIBILITY by error(PositioningStrategy.VISIBILITY_MODIFIER) val SETTER_VISIBILITY_INCONSISTENT_WITH_PROPERTY_VISIBILITY by error(PositioningStrategy.VISIBILITY_MODIFIER) - val WRONG_SETTER_RETURN_TYPE by error() - val WRONG_GETTER_RETURN_TYPE by error { + val WRONG_SETTER_RETURN_TYPE by error() + val WRONG_GETTER_RETURN_TYPE by error { parameter("expectedType") parameter("actualType") } 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 c93138933a8..69932276ff3 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 @@ -367,8 +367,8 @@ object FirErrors { val INITIALIZER_TYPE_MISMATCH by error2(SourceElementPositioningStrategies.ASSIGNMENT_VALUE) val GETTER_VISIBILITY_DIFFERS_FROM_PROPERTY_VISIBILITY by error0(SourceElementPositioningStrategies.VISIBILITY_MODIFIER) val SETTER_VISIBILITY_INCONSISTENT_WITH_PROPERTY_VISIBILITY by error0(SourceElementPositioningStrategies.VISIBILITY_MODIFIER) - val WRONG_SETTER_RETURN_TYPE by error0() - val WRONG_GETTER_RETURN_TYPE by error2() + val WRONG_SETTER_RETURN_TYPE by error0() + val WRONG_GETTER_RETURN_TYPE by error2() val ACCESSOR_FOR_DELEGATED_PROPERTY by error0() // Multi-platform projects 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 e3ca6816c90..747abc88691 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 @@ -1219,11 +1219,11 @@ sealed class KtFirDiagnostic : KtDiagnosticWithPsi { override val diagnosticClass get() = SetterVisibilityInconsistentWithPropertyVisibility::class } - abstract class WrongSetterReturnType : KtFirDiagnostic() { + abstract class WrongSetterReturnType : KtFirDiagnostic() { override val diagnosticClass get() = WrongSetterReturnType::class } - abstract class WrongGetterReturnType : KtFirDiagnostic() { + abstract class WrongGetterReturnType : KtFirDiagnostic() { override val diagnosticClass get() = WrongGetterReturnType::class abstract val expectedType: KtType abstract val actualType: KtType 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 80ecb9e3c67..3f76c797e98 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 @@ -1988,7 +1988,7 @@ internal class SetterVisibilityInconsistentWithPropertyVisibilityImpl( internal class WrongSetterReturnTypeImpl( firDiagnostic: FirPsiDiagnostic<*>, override val token: ValidityToken, -) : KtFirDiagnostic.WrongSetterReturnType(), KtAbstractFirDiagnostic { +) : KtFirDiagnostic.WrongSetterReturnType(), KtAbstractFirDiagnostic { override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic) } @@ -1997,7 +1997,7 @@ internal class WrongGetterReturnTypeImpl( override val actualType: KtType, firDiagnostic: FirPsiDiagnostic<*>, override val token: ValidityToken, -) : KtFirDiagnostic.WrongGetterReturnType(), KtAbstractFirDiagnostic { +) : KtFirDiagnostic.WrongGetterReturnType(), KtAbstractFirDiagnostic { override val firDiagnostic: FirPsiDiagnostic<*> by weakRef(firDiagnostic) } diff --git a/idea/testData/checker/regression/kt251.fir.kt b/idea/testData/checker/regression/kt251.fir.kt index 9436dd4d1b4..ad84483a1d1 100644 --- a/idea/testData/checker/regression/kt251.fir.kt +++ b/idea/testData/checker/regression/kt251.fir.kt @@ -5,7 +5,7 @@ class A() { field = value } val y: Int - get(): String = "s" + get(): String = "s" val z: Int get() { return "s" @@ -16,7 +16,7 @@ class A() { field = v } val b: Int - get(): Any = "s" + get(): Any = "s" val c: Int get() { return 1 @@ -26,7 +26,7 @@ class A() { return field } val e = 1 - get(): String { + get(): String { return field }