// 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" }