Files
kotlin-fork/compiler/testData/diagnostics/tests/smartCasts/kt27221_2.kt
T
Denis Zharkov 623c6803d6 Fix regression on smart casts in when on a sealed class
See the comment in PatternMatchingTypingVisitor

 #KT-27221 Fixed
2018-10-01 09:59:28 +03:00

36 lines
734 B
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_VARIABLE
// SKIP_TXT
sealed class A
sealed class B : A()
sealed class C : B()
sealed class D : C()
object BB : B()
object CC : C()
object DD : D()
fun foo1(a: A) {
if (a is B) {
if (a is D) {
if (<!USELESS_IS_CHECK!>a is C<!>) {
val t =
when (<!DEBUG_INFO_SMARTCAST!>a<!>) {
is DD -> "DD"
}
}
}
}
}
fun foo2(a: A) {
if (a is B) {
if (a is D) {
if (<!USELESS_IS_CHECK!>a is C<!>) {
val t =
when (<!DEBUG_INFO_SMARTCAST!>a<!>) {
is DD -> "DD"
}
}
}
}
}