20 lines
456 B
Kotlin
Vendored
20 lines
456 B
Kotlin
Vendored
// FIR_IDENTICAL
|
|
sealed class Sealed(val x: Int) {
|
|
data class Tuple(val x: Int, val y: Int)
|
|
object First: Sealed(12)
|
|
open class NonFirst(tuple: Tuple): Sealed(tuple.x) {
|
|
val y: Int = tuple.y
|
|
object Second: NonFirst(Tuple(34, 2))
|
|
object Third: NonFirst(Tuple(56, 3))
|
|
}
|
|
}
|
|
|
|
fun foo(s: Sealed): Int {
|
|
return when(s) {
|
|
is Sealed.First -> 1
|
|
is Sealed.NonFirst -> 0
|
|
// no else required
|
|
}
|
|
}
|
|
|