Files
kotlin-fork/compiler/testData/diagnostics/testsWithStdLib/assert/safeCall.kt
T
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

38 lines
765 B
Kotlin
Vendored

// !IGNORE_DATA_FLOW_IN_ASSERT
// SKIP_TXT
// WITH_RUNTIME
fun test1(s: String?) {
assert(s!!.isEmpty())
s<!UNNECESSARY_SAFE_CALL{NI}!>?.<!>length
}
fun test2(s: String?) {
assert(s!!.isEmpty())
s<!UNNECESSARY_NOT_NULL_ASSERTION{NI}!>!!<!>.length
}
fun test3(s: String?) {
assert(s!!.isEmpty())
<!DEBUG_INFO_SMARTCAST{NI}!>s<!><!UNSAFE_CALL{OI}!>.<!>length
}
fun test4() {
val s: String? = null;
assert(s!!.isEmpty())
s<!UNNECESSARY_SAFE_CALL{NI}!>?.<!>length
}
fun test5() {
val s: String? = null;
assert(s!!.isEmpty())
s<!UNNECESSARY_NOT_NULL_ASSERTION{NI}!>!!<!>.length
}
fun test6() {
val s: String? = null;
assert(s!!.isEmpty())
<!DEBUG_INFO_SMARTCAST{NI}!>s<!><!UNSAFE_CALL{OI}!>.<!>length
}