multipleFiles_enabled.kt 650 字节
Newer Older
1
// ISSUE: KT-13495
2
// !LANGUAGE: +AllowSealedInheritorsInDifferentFilesOfSamePackage
3

4
// FILE: Base.kt
5 6 7 8 9

sealed class Base {
    class A : Base()
}

10
// FILE: B.kt
11 12 13

class B : Base()

14
// FILE: Container.kt
15

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
class Containter {
    class C : Base()

    inner class D : Base()

    val d = D()
}

// FILE: main.kt

fun getValue(base: Base): Int = when (base) {
    is Base.A -> 1
    is B -> 2
    is Containter.C -> 3
    is Containter.D -> 4
31 32 33
}

fun box(): String {
34 35 36 37 38 39
    var res = 0
    res += getValue(Base.A())
    res += getValue(B())
    res += getValue(Containter.C())
    res += getValue(Containter().d)
    return if (res == 10) "OK" else "Fail"
40
}