Fix IrFunction.isEmptyArray implementation

The previous one was incorrect for K1 since parent of top-level function
is `IrClass`, not `IrPackageFragment`.

The change is non-functional, K1 still worked correctly, but had to do
some extra work when inlining `emptyArray` calls and produces less
performant bytecode.
This commit is contained in:
vladislav.grechko
2024-02-21 14:04:07 +01:00
committed by Space Team
parent 224a4e1e3c
commit f32367d2c2
26 changed files with 70 additions and 219 deletions
@@ -1,26 +0,0 @@
MODULE main
CLASS AnnotationInstancesKt.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
annotationInstances.kt
Kotlin
*S Kotlin
*F
+ 1 annotationInstances.kt
AnnotationInstancesKt
+ 2 ArrayIntrinsics.kt
kotlin/ArrayIntrinsicsKt
*L
1#1,76:1
26#2:77
*S KotlinDebug
*F
+ 1 annotationInstances.kt
AnnotationInstancesKt
*L
51#1:77
*E
} )
K2
---
@@ -6,8 +6,6 @@
// WITH_STDLIB
// !LANGUAGE: +InstantiationOfAnnotationClasses
// JVM_ABI_K1_K2_DIFF: KT-62465
// note: taken from ../parameters.kt and ../parametersWithPrimitiveValues.kt
import kotlin.reflect.KClass
import kotlin.test.assertEquals
@@ -1,26 +0,0 @@
MODULE main
CLASS test/AnnotationToStringKt.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
annotationToString.kt
Kotlin
*S Kotlin
*F
+ 1 annotationToString.kt
test/AnnotationToStringKt
+ 2 ArrayIntrinsics.kt
kotlin/ArrayIntrinsicsKt
*L
1#1,62:1
26#2:63
*S KotlinDebug
*F
+ 1 annotationToString.kt
test/AnnotationToStringKt
*L
51#1:63
*E
} )
K2
---
@@ -10,7 +10,6 @@
// WITH_STDLIB
// !LANGUAGE: +InstantiationOfAnnotationClasses
// JVM_ABI_K1_K2_DIFF: KT-62465
package test