Files
kotlin/compiler/testData/codegen/bytecodeText/deadCodeElimination/simpleConstructorNotRedundant.kt
Mads Ager 690b8e0ac9 JVM_IR: Optimize null checks.
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.
2019-01-19 09:43:43 +01:00

19 lines
195 B
Kotlin
Vendored

class A
fun box() {
val x: A? = A()
val y: A?
if (1 == 0) {
y = x
}
else {
y = null
}
y!!
}
// 0 IFNULL
// 1 IFNONNULL
// 1 throwNpe
// 0 ATHROW