Files
kotlin-fork/compiler/testData/codegen/box/delegation/kt44199.kt
T
Vladimir Sukharev a9af52c288 [Tests] Add test for KT-44199
^KT-44199 Fixed
2024-03-07 11:36:49 +00:00

19 lines
520 B
Kotlin
Vendored

import kotlin.reflect.KProperty
class WrapperDelegate<T>(val value: T) {
inline operator fun getValue(thisRef: Any?, property: KProperty<*>) = value
}
class NameWrapperDelegate<T>(val build: (String) -> T) {
inline operator fun provideDelegate(thisRef: Any?, property: KProperty<*>) = WrapperDelegate(build(property.name))
}
object Annotations {
val O by NameWrapperDelegate { it + "K" }
val Second by NameWrapperDelegate { it + "-prop2" }
}
fun box(): String {
return Annotations.O.toString()
}