mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-09 08:31:29 +00:00
81 lines
1.6 KiB
Kotlin
Vendored
81 lines
1.6 KiB
Kotlin
Vendored
open class A {
|
|
open val valProp: Int = -1
|
|
open var varProp: Int = -1
|
|
open var isProp: Int = -1
|
|
}
|
|
|
|
class B : J() {
|
|
override val valProp: Int = super.valProp + 1
|
|
override var varProp: Int
|
|
set(value) {
|
|
super.varProp = value
|
|
}
|
|
get() = super.varProp + 1
|
|
|
|
override var isProp: Int
|
|
set(value) {
|
|
super.isProp = value
|
|
}
|
|
get() = super.isProp + 1
|
|
}
|
|
|
|
fun box(): String {
|
|
val j = J()
|
|
var a: A = j
|
|
|
|
if (j.valProp != 123) return "fail 1"
|
|
if (a.valProp != 123) return "fail 2"
|
|
|
|
j.varProp = -1
|
|
if (!j.okField) return "fail 3"
|
|
j.okField = false
|
|
|
|
a.varProp = -1
|
|
if (!j.okField) return "fail 4"
|
|
j.okField = false
|
|
|
|
if (j.varProp != 456) return "fail 5"
|
|
if (a.varProp != 456) return "fail 6"
|
|
|
|
j.isProp = -1
|
|
if (!j.okField) return "fail 7"
|
|
j.okField = false
|
|
|
|
a.isProp = -1
|
|
if (!j.okField) return "fail 8"
|
|
j.okField = false
|
|
|
|
if (j.isProp != 789) return "fail 9"
|
|
if (a.isProp != 789) return "fail 10"
|
|
|
|
val b = B()
|
|
a = b
|
|
|
|
if (b.valProp != 124) return "fail 11"
|
|
if (a.valProp != 124) return "fail 12"
|
|
|
|
b.varProp = -1
|
|
if (!b.okField) return "fail 13"
|
|
b.okField = false
|
|
|
|
a.varProp = -1
|
|
if (!b.okField) return "fail 14"
|
|
b.okField = false
|
|
|
|
if (b.varProp != 457) return "fail 15"
|
|
if (a.varProp != 457) return "fail 16"
|
|
|
|
b.isProp = -1
|
|
if (!b.okField) return "fail 17"
|
|
b.okField = false
|
|
|
|
a.isProp = -1
|
|
if (!b.okField) return "fail 18"
|
|
b.okField = false
|
|
|
|
if (b.isProp != 790) return "fail 19"
|
|
if (a.isProp != 790) return "fail 20"
|
|
|
|
return "OK"
|
|
}
|