| // MODULE: base | |
| // FILE: base.kt | |
| open class X { | |
| open val bar: String = "base class" | |
| } | |
| open class Y: X() { | |
| override val bar: String = "child class" | |
| } | |
| // MODULE: lib(base) | |
| // FILE: A.kt | |
| // VERSION: 1 | |
| class Z : X() | |
| // FILE: B.kt | |
| // VERSION: 2 | |
| class Z : Y() | |
| // MODULE: mainLib(lib) | |
| // FILE: mainLib.kt | |
| fun lib(): String { | |
| return when { | |
| Z().bar != "child class" -> "fail 1" | |
| else -> "OK" | |
| } | |
| } | |
| // MODULE: main(mainLib) | |
| // FILE: main.kt | |
| fun box(): String = lib() | |