FIR checker: apply override checker to anonymous objects

^KT-44695 Fixed
This commit is contained in:
Jinseong Jeon
2021-02-08 16:03:35 -08:00
committed by Mikhail Glukhikh
parent 9370f918e9
commit 09640d9d63
5 changed files with 6 additions and 22 deletions
@@ -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
@@ -37,6 +37,7 @@ object CommonDeclarationCheckers : DeclarationCheckers() {
)
override val classCheckers: Set<FirClassChecker> = setOf(
FirOverrideChecker,
FirThrowableSubclassChecker,
)
@@ -51,7 +52,6 @@ object CommonDeclarationCheckers : DeclarationCheckers() {
FirLocalEntityNotAllowedChecker,
FirManyCompanionObjectsChecker,
FirMethodOfAnyImplementedInInterfaceChecker,
FirOverrideChecker,
FirPrimaryConstructorRequiredForDataClassChecker,
FirSupertypeInitializedInInterfaceChecker,
FirSupertypeInitializedWithoutPrimaryConstructor,
@@ -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
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
enum class EnumWithOpenMembers {
E1 {
override fun foo() = 1
@@ -21,12 +21,12 @@ fun case1() {
override var a: Any
get() = TODO()
set(value) {}
override val b: Any
override <!VAR_OVERRIDDEN_BY_VAL!>val<!> b: Any
get() = TODO()
override var c: Any
get() = TODO()
set(value) {}
override val d: Any
override <!VAR_OVERRIDDEN_BY_VAL!>val<!> d: Any
get() = TODO()
override fun foo() {}