Files
kotlin-fork/compiler/testData/diagnostics/tests/controlFlowAnalysis/delegatedPropertyEarlyAccess.kt
T
Dmitriy Novozhilov c87e489dc9 [FIR] Run CFA for member properties even if they have initializer
^KT-56678 Fixed
^KT-56682 Fixed
2023-02-17 11:26:17 +00:00

33 lines
884 B
Kotlin
Vendored

// ISSUE: KT-10869, KT-56682
import kotlin.reflect.KProperty
class CustomDelegate {
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String = prop.name
}
class Kaboom() {
// Here and below we should have errors for simple AND delegated
init {
<!DEBUG_INFO_LEAKING_THIS, UNINITIALIZED_VARIABLE!>delegated<!>.hashCode()
<!UNINITIALIZED_VARIABLE!>simple<!>.hashCode()
<!DEBUG_INFO_LEAKING_THIS!>withGetter<!>.hashCode()
}
val other = <!DEBUG_INFO_LEAKING_THIS, UNINITIALIZED_VARIABLE!>delegated<!>
val another = <!UNINITIALIZED_VARIABLE!>simple<!>
val something = <!DEBUG_INFO_LEAKING_THIS!>withGetter<!>
val delegated: String by CustomDelegate()
val simple = "xyz"
val withGetter: String
get() = "abc"
// No error should be here
val after = <!DEBUG_INFO_LEAKING_THIS!>delegated<!>
}