Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolveWithStdlib/delegates/delegateWithAnonymousObject.kt
T
Dmitrii Gridin 9a4a3d1f49 [LL FIR] introduce test with reversed resolve order
^KT-56543

Merge-request: KT-MR-9299
Merged-by: Dmitrii Gridin <dmitry.gridin@jetbrains.com>
2023-03-22 17:34:07 +00:00

29 lines
974 B
Kotlin
Vendored

// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
import kotlin.properties.ReadWriteProperty
import kotlin.reflect.KProperty
abstract class DelegateProvider<in Type>
fun <Type : Base, Base : DelegateProvider<Base>, Target : Any> Type.delegate(
factory: () -> ReadWriteProperty<Type, Target>
): ReadWriteProperty<Type, Target> = null!!
class IssueListView : DelegateProvider<IssueListView>() {
fun updateFrom(any: Any) {}
}
class IssuesListUserProfile : DelegateProvider<IssuesListUserProfile>() {
var issueListView by delegate {
object : ReadWriteProperty<IssuesListUserProfile, IssueListView> {
override fun getValue(thisRef: IssuesListUserProfile, property: KProperty<*>): IssueListView {
return IssueListView()
}
override fun setValue(thisRef: IssuesListUserProfile, property: KProperty<*>, value: IssueListView) {
return IssueListView().updateFrom(value)
}
}
}
}