Files
kotlin-fork/compiler/testData/diagnostics/tests/smartCasts/localDelegatedPropertyAfter.kt
T
2018-06-21 13:36:43 +03:00

15 lines
444 B
Kotlin
Vendored

// !LANGUAGE: +ProhibitSmartcastsOnLocalDelegatedProperty
class AlternatingDelegate {
var counter: Int = 0
operator fun getValue(thisRef: Any?, property: <!UNRESOLVED_REFERENCE!>KProperty<!><*>): Any? =
if (counter++ % 2 == 0) 42 else ""
}
fun failsWithClassCastException() {
val sometimesNotInt: Any? by AlternatingDelegate()
if (sometimesNotInt is Int) {
<!SMARTCAST_IMPOSSIBLE!>sometimesNotInt<!>.inc()
}
}