mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-09 00:21:47 +00:00
Introduce lowering to remove null checks for primitive type expressions and replace them with true/false. Side-effects are preserved. Generate ifnull/ifnonnull instructions for null checks instead of materializing a null literal for an equality check.
16 lines
184 B
Kotlin
Vendored
16 lines
184 B
Kotlin
Vendored
class A
|
|
fun box() {
|
|
val x: A? = A()
|
|
val z: A? = A()
|
|
val z1: A? = if (1 == 1) z else x
|
|
|
|
x!!
|
|
z!!
|
|
z1!!
|
|
}
|
|
|
|
// 0 IFNULL
|
|
// 0 IFNONNULL
|
|
// 0 throwNpe
|
|
// 0 ATHROW
|