Files
kotlin-fork/compiler/testData/diagnostics/tests/sealed/ExhaustiveWhenDoubleInner.kt
T
Mikhail Glukhikh f6872dfbea Exhaustive when support for sealed classes #KT-7606 Fixed
When on sealed can use is (both for derived classes and objects) or just comparison (only for derived objects).
A pack of tests provided.
2015-06-25 19:07:16 +03:00

17 lines
395 B
Kotlin
Vendored

sealed class Sealed() {
object First: Sealed()
open class NonFirst: Sealed() {
object Second: NonFirst()
object Third: NonFirst()
// It's ALLOWED to inherit Sealed also from here
object Fourth: Sealed()
}
}
fun foo(s: Sealed) = when(s) {
Sealed.First -> 1
is Sealed.NonFirst -> 2
Sealed.NonFirst.Fourth -> 4
// no else required
}