40 lines
666 B
Kotlin
Vendored
40 lines
666 B
Kotlin
Vendored
// FIR_IDENTICAL
|
|
// ISSUE: KT-20423
|
|
// !LANGUAGE: +AllowSealedInheritorsInDifferentFilesOfSamePackage +SealedInterfaces
|
|
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
|
|
|
sealed interface Base
|
|
|
|
interface A : Base
|
|
|
|
sealed class B : Base {
|
|
class First : B()
|
|
class Second : B()
|
|
}
|
|
|
|
enum class C : Base {
|
|
SomeValue, AnotherValue
|
|
}
|
|
|
|
object D : Base
|
|
|
|
fun test_1(base: Base) {
|
|
val x = when (base) {
|
|
is A -> 1
|
|
is B -> 2
|
|
is C -> 3
|
|
is D -> 4
|
|
}
|
|
}
|
|
|
|
fun test_2(base: Base) {
|
|
val x = when (base) {
|
|
is A -> 1
|
|
is B.First -> 2
|
|
is B.Second -> 3
|
|
C.SomeValue -> 4
|
|
C.AnotherValue -> 5
|
|
D -> 6
|
|
}
|
|
}
|