Files
kotlin/compiler/testData/codegen/script/topLevelPropertyWithProvideDelegate.kts
Dmitry Petrov efb6756cbc Initialize property metadata array before class body generation
Initialization of companion object members (e.g., delegate properties
using provideDelegate convention) can depend on property metadata array,
which in turn can be initialized before other class members.

 #KT-18902 Fixed Target versions 1.1.5
2017-07-12 09:37:16 +03:00

21 lines
385 B
Kotlin
Vendored

import kotlin.reflect.KProperty
class Delegate {
operator fun getValue(thisRef: Test, property: KProperty<*>) = "OK"
}
class Provider {
operator fun provideDelegate(thisRef: Test, property: KProperty<*>) = Delegate()
}
class Test {
companion object {
val instance = Test()
}
val message by Provider()
}
val x = Test.instance.message
// expected: x: OK