| // FIR_IDENTICAL |
| // DIAGNOSTICS: +UNUSED_VARIABLE |
| |
| import kotlin.reflect.KProperty |
| |
| class Example { |
| val valProp: String by Delegate() |
| val varProp: String by Delegate() |
| |
| fun foo() { |
| val valVariable by Delegate() |
| val varVariable by Delegate() |
| } |
| } |
| |
| class Delegate { |
| operator fun getValue(thisRef: Any?, property: KProperty<*>): String = "delegation" |
| |
| operator fun setValue(thisRef: Any?, property: KProperty<*>, value: String) { |
| // setValue |
| } |
| |
| operator fun provideDelegate(thisRef: Any?, property: KProperty<*>): Delegate { |
| // side effect |
| return Delegate() |
| } |
| } |