Files
kotlin-fork/compiler/testData/diagnostics/tests/smartCasts/elvis/basicOff.kt
T
2022-11-29 12:25:45 +00:00

51 lines
797 B
Kotlin
Vendored

// !LANGUAGE: -BooleanElvisBoundSmartCasts
interface Order {
val expired: Boolean?
fun notExpired(): Boolean
fun doSomething()
}
fun foo(o: Any) {
val order = o as? Order
if (order?.expired ?: false) {
order<!UNSAFE_CALL!>.<!>doSomething()
}
else {
}
if (order?.notExpired() ?: false) {
order<!UNSAFE_CALL!>.<!>doSomething()
}
}
fun bar(o: Any) {
val order = o as? Order
if (order?.expired ?: true) {
}
else {
order!!.doSomething()
}
if (order?.notExpired() ?: true) {
}
else {
order!!.doSomething()
}
}
fun baz(o: Boolean?) {
if (o ?: false) {
o<!UNSAFE_CALL!>.<!>hashCode()
}
if (o ?: true) {
}
else {
o<!UNSAFE_CALL!>.<!>hashCode()
}
}