[FE] Fix "Not reachable case" exception

Review: https://jetbrains.team/p/kt/reviews/9967

This commit fixes:

    Cause 2: java.lang.IllegalStateException: Not reachable case. We can always suggest making `open val` property `final`
            at org.jetbrains.kotlin.resolve.DeclarationsChecker.reportMustBeInitialized(DeclarationsChecker.kt:845)
            at org.jetbrains.kotlin.resolve.DeclarationsChecker.checkPropertyInitializer(DeclarationsChecker.kt:778)
            at org.jetbrains.kotlin.resolve.DeclarationsChecker.checkProperty(DeclarationsChecker.kt:614)
            at org.jetbrains.kotlin.resolve.DeclarationsChecker.process(DeclarationsChecker.kt:106)
            at org.jetbrains.kotlin.resolve.BodyResolver.resolveBodies(BodyResolver.java:258)

Reproducible in K1 & K2
This commit is contained in:
Nikita Bobko
2023-05-15 11:43:38 +02:00
parent 26e45304e1
commit 771f82bcf6
8 changed files with 41 additions and 6 deletions
@@ -0,0 +1,11 @@
// FIR_IDENTICAL
// LANGUAGE: -ProhibitOpenValDeferredInitialization
// DIAGNOSTICS: -DEBUG_INFO_LEAKING_THIS
open class A {
<!MUST_BE_INITIALIZED_WARNING!>open val c: Int<!>
<!VAL_WITH_SETTER!>set(value) {}<!>
init {
c = 1
}
}