Files
kotlin/compiler/testData/codegen/bytecodeText/coercionToUnitOptimization/safeLet.kt
2020-02-14 14:07:03 +03:00

30 lines
707 B
Kotlin
Vendored

// TODO KT-36650 Don't generate CHECKCAST on null values in JVM_IR
// TODO KT-36654 Generate more compact bytecode for safe call in JVM_IR
fun test(ss: List<String?>) {
val shortStrings = hashSetOf<String>()
val longStrings = hashSetOf<String>()
for (s in ss) {
s?.let {
if (s.length < 4) {
shortStrings.add(s)
}
else {
longStrings.add(s)
}
}
}
}
// JVM_TEMPLATES
// 2 POP
// 0 INVOKESTATIC java/lang/Boolean\.valueOf
// 0 CHECKCAST java/lang/Boolean
// 0 ACONST_NULL
// JVM_IR_TEMPLATES
// 2 POP
// 0 INVOKESTATIC java/lang/Boolean\.valueOf
// 1 CHECKCAST java/lang/Boolean
// 1 ACONST_NULL