From 09640d9d63a04933ff202d07a21751db0d0464ee Mon Sep 17 00:00:00 2001 From: Jinseong Jeon Date: Mon, 8 Feb 2021 16:03:35 -0800 Subject: [PATCH] FIR checker: apply override checker to anonymous objects ^KT-44695 Fixed --- .../checkers/declaration/FirOverrideChecker.kt | 4 ++-- .../fir/checkers/CommonDeclarationCheckers.kt | 2 +- .../tests/enum/openMemberInEnum.fir.kt | 17 ----------------- .../diagnostics/tests/enum/openMemberInEnum.kt | 1 + .../abstract-classes/p-2/neg/1.2.fir.kt | 4 ++-- 5 files changed, 6 insertions(+), 22 deletions(-) delete mode 100644 compiler/testData/diagnostics/tests/enum/openMemberInEnum.fir.kt diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirOverrideChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirOverrideChecker.kt index 401a0297724..9acf658006f 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirOverrideChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirOverrideChecker.kt @@ -26,8 +26,8 @@ import org.jetbrains.kotlin.types.AbstractTypeCheckerContext import org.jetbrains.kotlin.utils.addToStdlib.min import org.jetbrains.kotlin.utils.addToStdlib.safeAs -object FirOverrideChecker : FirRegularClassChecker() { - override fun check(declaration: FirRegularClass, context: CheckerContext, reporter: DiagnosticReporter) { +object FirOverrideChecker : FirClassChecker() { + override fun check(declaration: FirClass<*>, context: CheckerContext, reporter: DiagnosticReporter) { val typeCheckerContext = context.session.typeContext.newBaseTypeCheckerContext( errorTypesEqualToAnything = false, stubTypesEqualToAnything = false diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/checkers/CommonDeclarationCheckers.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/checkers/CommonDeclarationCheckers.kt index b0483c84c70..a158c5d35d9 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/checkers/CommonDeclarationCheckers.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/checkers/CommonDeclarationCheckers.kt @@ -37,6 +37,7 @@ object CommonDeclarationCheckers : DeclarationCheckers() { ) override val classCheckers: Set = setOf( + FirOverrideChecker, FirThrowableSubclassChecker, ) @@ -51,7 +52,6 @@ object CommonDeclarationCheckers : DeclarationCheckers() { FirLocalEntityNotAllowedChecker, FirManyCompanionObjectsChecker, FirMethodOfAnyImplementedInInterfaceChecker, - FirOverrideChecker, FirPrimaryConstructorRequiredForDataClassChecker, FirSupertypeInitializedInInterfaceChecker, FirSupertypeInitializedWithoutPrimaryConstructor, diff --git a/compiler/testData/diagnostics/tests/enum/openMemberInEnum.fir.kt b/compiler/testData/diagnostics/tests/enum/openMemberInEnum.fir.kt deleted file mode 100644 index 7f2e397e0fb..00000000000 --- a/compiler/testData/diagnostics/tests/enum/openMemberInEnum.fir.kt +++ /dev/null @@ -1,17 +0,0 @@ -enum class EnumWithOpenMembers { - E1 { - override fun foo() = 1 - override val bar: String = "a" - }, - - E2 { - override fun f() = 3 - override val b = 4 - }; - - open fun foo() = 1 - open val bar: String = "" - - fun f() = 2 - val b = 3 -} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/enum/openMemberInEnum.kt b/compiler/testData/diagnostics/tests/enum/openMemberInEnum.kt index d5e1eda0052..a128cabd3c7 100644 --- a/compiler/testData/diagnostics/tests/enum/openMemberInEnum.kt +++ b/compiler/testData/diagnostics/tests/enum/openMemberInEnum.kt @@ -1,3 +1,4 @@ +// FIR_IDENTICAL enum class EnumWithOpenMembers { E1 { override fun foo() = 1 diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/abstract-classes/p-2/neg/1.2.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/abstract-classes/p-2/neg/1.2.fir.kt index 1bb1365eb9d..8fd15d1f07f 100644 --- a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/abstract-classes/p-2/neg/1.2.fir.kt +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/abstract-classes/p-2/neg/1.2.fir.kt @@ -21,12 +21,12 @@ fun case1() { override var a: Any get() = TODO() set(value) {} - override val b: Any + override val b: Any get() = TODO() override var c: Any get() = TODO() set(value) {} - override val d: Any + override val d: Any get() = TODO() override fun foo() {}