Files
kotlin/compiler/testData/codegen/bytecodeText/boxingOptimization/boxingAndEquals.kt
Dmitry Petrov c46164481a KT-15871 Unnecessary boxing for equality operator on inlined primitive values
Allow kotlin.jvm.internal.Intrinsics#areEqual for boxed values.
Rewrite to primitive equality.

NB we can't do that for Float and Double, because java.lang.Float#equals
and java.lang.Double#equals behave differently from primitive equality comparisons.
2017-03-13 09:04:31 +03:00

18 lines
320 B
Kotlin
Vendored

// https://youtrack.jetbrains.com/issue/KT-15871
// FILE: Test.kt
fun getAndCheckInt(a: Int, b: Int) =
getAndCheck({ a }, { b })
// @TestKt.class:
// 0 valueOf
// 0 Value
// 0 areEqual
// FILE: Inline.kt
inline fun <T> getAndCheck(getFirst: () -> T, getSecond: () -> T) =
getFirst() == getSecond()