blob: 577d9ab7e13d799255f1ed79334bc5a540a22eb1 [file] [log] [blame]
package As
val staticProperty : String = "1"
val String.staticExt: String get() = "1"
open class A(val init: String) {
open val property : String = init
private val privateProperty : String = init
val String.ext: String get() = "1"
val Int.myInc : Int
get() = this + 1
open fun getPrivate() : String {
return privateProperty;
}
open fun getExt() : String {
return "0".ext;
}
public var backingField : Int = 0
get() = field.myInc
set(s) { field = s }
}
open class B(init: String) : A("1") {
override val property: String = init
fun getOpenProperty(): String {
return super<A>.property
}
fun getWithBackingFieldProperty(): String {
return property
}
}
fun box() : String {
val a = A("1");
val b = B("0");
a.backingField = 0
val result = a.property + a.getPrivate() + staticProperty + "0".staticExt + a.getExt() +
a.backingField + a.backingField +
b.getOpenProperty() + b.property + b.getWithBackingFieldProperty()
return if (result == "1111111100") "OK" else "fail"
}