blob: 59720282936aa2f183b16a7f1af61ba6f2d330c8 [file] [log] [blame]
open class Base() {
val plain = 239
public val read : Int
get() = 239
public var readwrite : Int = 0
get() = field + 1
set(n : Int) {
field = n
}
}
interface Abstract {}
class Derived1() : Base(), Abstract {}
class Derived2() : Abstract, Base() {}
fun code(s : Base) : Int {
if (s.plain != 239) return 1
if (s.read != 239) return 2
s.readwrite = 238
if (s.readwrite != 239) return 3
return 0
}
fun test(s : Base) : Boolean = code(s) == 0
fun box() : String {
if (!test(Base())) return "Fail #1"
if (!test(Derived1())) return "Fail #2"
if (!test(Derived2())) return "Fail #3"
return "OK"
}