[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
@@ -841,9 +841,6 @@ class DeclarationsChecker(
suggestMakingItAbstract -> MUST_BE_INITIALIZED_OR_BE_ABSTRACT
else -> MUST_BE_INITIALIZED
}
if (isOpenValDeferredInitDeprecationWarning && factory == MUST_BE_INITIALIZED) {
error("Not reachable case. We can always suggest making `open val` property `final`")
}
trace.report(
when (isMissedMustBeInitializedDeprecationWarning || isOpenValDeferredInitDeprecationWarning) {
true -> factory.deprecationWarning