| // TARGET_BACKEND: JVM |
| // JVM_TARGET: 1.8 |
| interface KCallable { |
| val returnType: String |
| } |
| |
| interface KCallableImpl : KCallable { |
| override val returnType: String |
| get() = "OK" |
| } |
| |
| interface KProperty : KCallable |
| interface KPropertyImpl : KProperty, KCallableImpl |
| interface KMutableProperty : KProperty |
| interface KProperty1 : KProperty |
| interface KMutableProperty1 : KProperty1, KMutableProperty |
| interface KMutablePropertyImpl : KPropertyImpl |
| |
| open class DescriptorBasedProperty : KCallableImpl |
| open class KProperty1Impl : DescriptorBasedProperty(), KProperty1, KPropertyImpl |
| open class KMutableProperty1Impl : KProperty1Impl(), KMutableProperty1, KMutablePropertyImpl |
| |
| fun box(): String { |
| return KMutableProperty1Impl().returnType |
| } |