661f4efc68
This syntax is reserved to be likely used in the future as a shorthand for "this::foo" where the resulting expression doesn't take the receiver as a parameter but has "this" already bound to it
18 lines
406 B
Kotlin
Vendored
18 lines
406 B
Kotlin
Vendored
import kotlin.reflect.*
|
|
import kotlin.reflect.jvm.*
|
|
|
|
class K<in T : String> {
|
|
private var t: T
|
|
get() = "OK" as T
|
|
set(value) {}
|
|
|
|
fun run(): String {
|
|
val p = K::class.memberProperties.single() as KMutableProperty1<K<String>, String>
|
|
p.isAccessible = true
|
|
p.set(this as K<String>, "")
|
|
return p.get(this) as String
|
|
}
|
|
}
|
|
|
|
fun box() = K<String>().run()
|