47 lines
903 B
Kotlin
Vendored
47 lines
903 B
Kotlin
Vendored
// MODULE: lib
|
|
// FILE: A.kt
|
|
// VERSION: 1
|
|
|
|
open class X(x: String, y: String, open val z: String) {
|
|
val w = x+y
|
|
}
|
|
|
|
// FILE: B.kt
|
|
// VERSION: 2
|
|
|
|
open class X(val x: String, var y: String, open var z: String) {
|
|
val w = x+y
|
|
}
|
|
|
|
// MODULE: mainLib(lib)
|
|
// FILE: mainLib.kt
|
|
|
|
val x = X("first", "second", "third")
|
|
|
|
class Y(a: String, b: String, c: String): X(a, b, c) {
|
|
val x: String = "fourth"
|
|
val y: String = "fifth"
|
|
override val z: String = "sixth"
|
|
val superz: String = super.z
|
|
}
|
|
|
|
val y = Y("seventh", "eighth", "ninth")
|
|
|
|
fun lib(): String {
|
|
return when {
|
|
x.w != "firstsecond" -> "fail 1"
|
|
x.z != "third" -> "fail 2"
|
|
y.x != "fourth" -> "fail 3"
|
|
y.y != "fifth" -> "fail 4"
|
|
y.z != "sixth" -> "fail 5"
|
|
y.superz != "ninth" -> "fail 6"
|
|
|
|
else -> "OK"
|
|
}
|
|
}
|
|
|
|
// MODULE: main(mainLib)
|
|
// FILE: main.kt
|
|
fun box(): String = lib()
|
|
|