Files
kotlin-fork/compiler/testData/diagnostics/tests/smartCasts/kt27221_irrelevantClasses.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

28 lines
516 B
Kotlin
Vendored

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