Files
kotlin-fork/compiler/testData/diagnostics/tests/smartCasts/varnotnull/plusplusMinusminus.fir.kt
T
Tianyu Geng 7e2f15f532 FIR DFA: fix logic clear aliasing
The logic should clear back aliases as well. To ensure all back aliases
don't lose any information, statements on the original variable are
copied over to its aliases.
2021-08-06 22:57:15 +03:00

21 lines
401 B
Kotlin
Vendored

fun foo(arg: Int?): Int {
var i = arg
if (i != null && i++ == 5) {
return i-- + i
}
return 0
}
operator fun Long?.inc() = this?.let { it + 1 }
fun bar(arg: Long?): Long {
var i = arg
if (i++ == 5L) {
return i<!UNSAFE_CALL!>--<!> <!UNSAFE_OPERATOR_CALL!>+<!> i
}
if (i++ == 7L) {
return i++ <!UNSAFE_OPERATOR_CALL!>+<!> i
}
return 0L
}