41 lines
832 B
Kotlin
Vendored
41 lines
832 B
Kotlin
Vendored
// MODULE: lib
|
|
// FILE: A.kt
|
|
|
|
package a
|
|
|
|
sealed class Empty
|
|
|
|
sealed class OnlyNested {
|
|
class Nested : OnlyNested()
|
|
}
|
|
|
|
sealed class NestedAndTopLevel {
|
|
class Nested : NestedAndTopLevel()
|
|
}
|
|
class TopLevel : NestedAndTopLevel()
|
|
|
|
// MODULE: main(lib)
|
|
// FILE: B.kt
|
|
|
|
import a.*
|
|
|
|
// This test checks that we correctly load subclasses of a compiled sealed class from binaries.
|
|
// It's not a diagnostic test because there are no diagnostic tests where resolution is performed against compiled Kotlin binaries
|
|
|
|
fun empty(e: Empty): String = when (e) {
|
|
else -> "1"
|
|
}
|
|
|
|
fun onlyNested(on: OnlyNested): String = when (on) {
|
|
is OnlyNested.Nested -> "2"
|
|
}
|
|
|
|
fun nestedAndTopLevel(natl: NestedAndTopLevel): String = when (natl) {
|
|
is NestedAndTopLevel.Nested -> "3"
|
|
is TopLevel -> "4"
|
|
}
|
|
|
|
fun box(): String {
|
|
return "OK"
|
|
}
|