Files
Denis.Zharkov 2ecba6ac39 Remove WITH_NEW_INFERENCE directive from all tests
This directive anyway does not make test run twice with OI, and with NI
It only once run the test with specific settings (// LANGUAGE)
and ignores irrelevant (OI or NI tags)
2021-05-25 13:28:26 +03:00

24 lines
598 B
Kotlin
Vendored

import kotlin.reflect.KProperty
class Delegate {
operator fun getValue(thisRef: Any?, prop: KProperty<*>): String? {
return null
}
}
class Example {
private val p: String? by Delegate()
public val r: String? = "xyz"
public fun foo(): String {
// Smart cast is not possible if property is delegated
return if (p != null) <!SMARTCAST_IMPOSSIBLE!>p<!> else ""
}
public fun bar(): String {
// But is possible for non-delegated value property even if it's public
return if (r != null) <!DEBUG_INFO_SMARTCAST!>r<!> else ""
}
}