Use GETFIELD instead of unbox-impl inside inline classes

#KT-36783 Fixed
This commit is contained in:
Ilmir Usmanov
2021-05-04 03:01:36 +02:00
committed by Space
parent e5f3091f2c
commit c4ddf3530d
15 changed files with 52 additions and 37 deletions
@@ -1,6 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: JVM_IR
inline class ICInt(val x: Int) // unbox-impl in generated 'equals'
suspend fun suspendICInt(): ICInt = ICInt(1) // box-impl
@@ -1,6 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: JVM_IR
inline class ICAny(val x: Any)
suspend fun suspendICAny(): ICAny = ICAny("")
@@ -1,6 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: JVM_IR
inline class IC0(val x: Any) // IC0.unbox-impl in generated 'equals'
inline class IC1(val x: IC0) // IC1.unbox-impl in generated 'equals'
@@ -1,6 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: JVM_IR
interface I
inline class ICI(val i: I): I
@@ -1,6 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: JVM_IR
inline class ICString(val x: String)
suspend fun suspendICString(): ICString = ICString("")