Files
kotlin-fork/idea/testData/codegen/classes/propertyDelegation.jet
T
Andrey Breslav 71bc41a938 KT-286 Check supertype lists (in progress)
Tests involving multiple inheritance fixed
2011-09-08 16:20:01 +04:00

33 lines
693 B
Plaintext

open class Base() {
public val plain = 239
public val read : Int
get() = 239
public var readwrite : Int = 0
get() = $readwrite + 1
set(n : Int) {
$readwrite = n
}
}
trait class 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"
}