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:
committed by
Space Team
parent
224a4e1e3c
commit
f32367d2c2
+6
@@ -1022,6 +1022,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo
|
|||||||
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("emptyArrayDesugaring.kt")
|
||||||
|
public void testEmptyArrayDesugaring() {
|
||||||
|
runTest("compiler/testData/codegen/box/arrays/emptyArrayDesugaring.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("forEachBooleanArray.kt")
|
@TestMetadata("forEachBooleanArray.kt")
|
||||||
public void testForEachBooleanArray() {
|
public void testForEachBooleanArray() {
|
||||||
|
|||||||
+6
@@ -1022,6 +1022,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi
|
|||||||
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("emptyArrayDesugaring.kt")
|
||||||
|
public void testEmptyArrayDesugaring() {
|
||||||
|
runTest("compiler/testData/codegen/box/arrays/emptyArrayDesugaring.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("forEachBooleanArray.kt")
|
@TestMetadata("forEachBooleanArray.kt")
|
||||||
public void testForEachBooleanArray() {
|
public void testForEachBooleanArray() {
|
||||||
|
|||||||
+6
@@ -1017,6 +1017,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
|
|||||||
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("emptyArrayDesugaring.kt")
|
||||||
|
public void testEmptyArrayDesugaring() {
|
||||||
|
runTest("compiler/testData/codegen/box/arrays/emptyArrayDesugaring.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("forEachBooleanArray.kt")
|
@TestMetadata("forEachBooleanArray.kt")
|
||||||
public void testForEachBooleanArray() {
|
public void testForEachBooleanArray() {
|
||||||
|
|||||||
+6
@@ -1017,6 +1017,12 @@ public class FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated
|
|||||||
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("emptyArrayDesugaring.kt")
|
||||||
|
public void testEmptyArrayDesugaring() {
|
||||||
|
runTest("compiler/testData/codegen/box/arrays/emptyArrayDesugaring.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("forEachBooleanArray.kt")
|
@TestMetadata("forEachBooleanArray.kt")
|
||||||
public void testForEachBooleanArray() {
|
public void testForEachBooleanArray() {
|
||||||
|
|||||||
+6
@@ -1017,6 +1017,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
|
|||||||
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("emptyArrayDesugaring.kt")
|
||||||
|
public void testEmptyArrayDesugaring() {
|
||||||
|
runTest("compiler/testData/codegen/box/arrays/emptyArrayDesugaring.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("forEachBooleanArray.kt")
|
@TestMetadata("forEachBooleanArray.kt")
|
||||||
public void testForEachBooleanArray() {
|
public void testForEachBooleanArray() {
|
||||||
|
|||||||
+1
-3
@@ -113,6 +113,4 @@ internal fun IrFunction.isArrayOf(): Boolean {
|
|||||||
valueParameters[0].isVararg
|
valueParameters[0].isVararg
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun IrFunction.isEmptyArray(): Boolean =
|
internal fun IrFunction.isEmptyArray(): Boolean = isTopLevelInPackage("emptyArray", StandardNames.BUILT_INS_PACKAGE_FQ_NAME)
|
||||||
name.asString() == "emptyArray" &&
|
|
||||||
(parent as? IrPackageFragment)?.packageFqName == StandardNames.BUILT_INS_PACKAGE_FQ_NAME
|
|
||||||
-26
@@ -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
|
// WITH_STDLIB
|
||||||
// !LANGUAGE: +InstantiationOfAnnotationClasses
|
// !LANGUAGE: +InstantiationOfAnnotationClasses
|
||||||
|
|
||||||
// JVM_ABI_K1_K2_DIFF: KT-62465
|
|
||||||
|
|
||||||
// note: taken from ../parameters.kt and ../parametersWithPrimitiveValues.kt
|
// note: taken from ../parameters.kt and ../parametersWithPrimitiveValues.kt
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
|||||||
-26
@@ -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
|
// WITH_STDLIB
|
||||||
// !LANGUAGE: +InstantiationOfAnnotationClasses
|
// !LANGUAGE: +InstantiationOfAnnotationClasses
|
||||||
|
|
||||||
// JVM_ABI_K1_K2_DIFF: KT-62465
|
|
||||||
|
|
||||||
package test
|
package test
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
// WITH_STDLIB
|
||||||
|
// TARGET_BACKEND: JVM_IR
|
||||||
|
|
||||||
|
// Checks if emptyArray call has been lowered
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
emptyArray<String>()
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
|
|
||||||
|
// CHECK_BYTECODE_TEXT
|
||||||
|
// 0 ISTORE 0
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
MODULE main
|
|
||||||
CLASS Kt17134Kt.class
|
|
||||||
Annotation: class.invisibleAnnotations
|
|
||||||
K1
|
|
||||||
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
|
|
||||||
kt17134.kt
|
|
||||||
Kotlin
|
|
||||||
*S Kotlin
|
|
||||||
*F
|
|
||||||
+ 1 kt17134.kt
|
|
||||||
Kt17134Kt
|
|
||||||
+ 2 ArrayIntrinsics.kt
|
|
||||||
kotlin/ArrayIntrinsicsKt
|
|
||||||
*L
|
|
||||||
1#1,19:1
|
|
||||||
26#2:20
|
|
||||||
*S KotlinDebug
|
|
||||||
*F
|
|
||||||
+ 1 kt17134.kt
|
|
||||||
Kt17134Kt
|
|
||||||
*L
|
|
||||||
16#1:20
|
|
||||||
*E
|
|
||||||
} )
|
|
||||||
K2
|
|
||||||
---
|
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
|
|
||||||
// JVM_ABI_K1_K2_DIFF: KT-62465
|
|
||||||
|
|
||||||
object A {
|
object A {
|
||||||
@JvmStatic fun main(args: Array<String>) {
|
@JvmStatic fun main(args: Array<String>) {
|
||||||
val b = arrayOf(arrayOf(""))
|
val b = arrayOf(arrayOf(""))
|
||||||
|
|||||||
-51
@@ -7,54 +7,3 @@ MODULE main
|
|||||||
<set-?>: kotlin/Int
|
<set-?>: kotlin/Int
|
||||||
K2
|
K2
|
||||||
value: kotlin/Int
|
value: kotlin/Int
|
||||||
Annotation: class.invisibleAnnotations
|
|
||||||
K1
|
|
||||||
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
|
|
||||||
arrayDequeRemoveAll.kt
|
|
||||||
Kotlin
|
|
||||||
*S Kotlin
|
|
||||||
*F
|
|
||||||
+ 1 arrayDequeRemoveAll.kt
|
|
||||||
ArrayDeque
|
|
||||||
+ 2 ArraysJVM.kt
|
|
||||||
kotlin/collections/ArraysKt__ArraysJVMKt
|
|
||||||
+ 3 ArrayIntrinsics.kt
|
|
||||||
kotlin/ArrayIntrinsicsKt
|
|
||||||
*L
|
|
||||||
1#1,114:1
|
|
||||||
53#1,48:117
|
|
||||||
37#2,2:115
|
|
||||||
26#3:165
|
|
||||||
*S KotlinDebug
|
|
||||||
*F
|
|
||||||
+ 1 arrayDequeRemoveAll.kt
|
|
||||||
ArrayDeque
|
|
||||||
*L
|
|
||||||
50#1:117,48
|
|
||||||
13#1:115,2
|
|
||||||
104#1:165
|
|
||||||
*E
|
|
||||||
} )
|
|
||||||
K2
|
|
||||||
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
|
|
||||||
arrayDequeRemoveAll.kt
|
|
||||||
Kotlin
|
|
||||||
*S Kotlin
|
|
||||||
*F
|
|
||||||
+ 1 arrayDequeRemoveAll.kt
|
|
||||||
ArrayDeque
|
|
||||||
+ 2 ArraysJVM.kt
|
|
||||||
kotlin/collections/ArraysKt__ArraysJVMKt
|
|
||||||
*L
|
|
||||||
1#1,114:1
|
|
||||||
53#1,48:117
|
|
||||||
37#2,2:115
|
|
||||||
*S KotlinDebug
|
|
||||||
*F
|
|
||||||
+ 1 arrayDequeRemoveAll.kt
|
|
||||||
ArrayDeque
|
|
||||||
*L
|
|
||||||
50#1:117,48
|
|
||||||
13#1:115,2
|
|
||||||
*E
|
|
||||||
} )
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// JVM_ABI_K1_K2_DIFF: KT-62464, KT-63984
|
// JVM_ABI_K1_K2_DIFF: KT-63984
|
||||||
|
|
||||||
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
|
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
|
||||||
class ArrayDeque<E> : AbstractMutableList<E> {
|
class ArrayDeque<E> : AbstractMutableList<E> {
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
MODULE main
|
|
||||||
CLASS TestKt.class
|
|
||||||
Annotation: class.invisibleAnnotations
|
|
||||||
K1
|
|
||||||
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
|
|
||||||
test.kt
|
|
||||||
Kotlin
|
|
||||||
*S Kotlin
|
|
||||||
*F
|
|
||||||
+ 1 test.kt
|
|
||||||
TestKt
|
|
||||||
+ 2 ArrayIntrinsics.kt
|
|
||||||
kotlin/ArrayIntrinsicsKt
|
|
||||||
*L
|
|
||||||
1#1,28:1
|
|
||||||
26#2:29
|
|
||||||
*S KotlinDebug
|
|
||||||
*F
|
|
||||||
+ 1 test.kt
|
|
||||||
TestKt
|
|
||||||
*L
|
|
||||||
9#1:29
|
|
||||||
*E
|
|
||||||
} )
|
|
||||||
K2
|
|
||||||
---
|
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// FULL_JDK
|
// FULL_JDK
|
||||||
// JVM_ABI_K1_K2_DIFF: KT-62465
|
|
||||||
|
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
|
|
||||||
|
|||||||
-26
@@ -15,29 +15,3 @@ MODULE lib
|
|||||||
[]
|
[]
|
||||||
K2
|
K2
|
||||||
[kotlin/script/templates/standard/ScriptTemplateWithArgs]
|
[kotlin/script/templates/standard/ScriptTemplateWithArgs]
|
||||||
MODULE main
|
|
||||||
CLASS TestKt.class
|
|
||||||
Annotation: class.invisibleAnnotations
|
|
||||||
K1
|
|
||||||
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
|
|
||||||
test.kt
|
|
||||||
Kotlin
|
|
||||||
*S Kotlin
|
|
||||||
*F
|
|
||||||
+ 1 test.kt
|
|
||||||
TestKt
|
|
||||||
+ 2 ArrayIntrinsics.kt
|
|
||||||
kotlin/ArrayIntrinsicsKt
|
|
||||||
*L
|
|
||||||
1#1,29:1
|
|
||||||
26#2:30
|
|
||||||
*S KotlinDebug
|
|
||||||
*F
|
|
||||||
+ 1 test.kt
|
|
||||||
TestKt
|
|
||||||
*L
|
|
||||||
22#1:30
|
|
||||||
*E
|
|
||||||
} )
|
|
||||||
K2
|
|
||||||
---
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// !LANGUAGE: -SkipStandaloneScriptsInSourceRoots
|
// !LANGUAGE: -SkipStandaloneScriptsInSourceRoots
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// JVM_ABI_K1_K2_DIFF: KT-63963, KT-63960, KT-62465
|
// JVM_ABI_K1_K2_DIFF: KT-63963, KT-63960
|
||||||
|
|
||||||
// Although this test works in K1 just fine, it is named with the suffix K2 to show that the demonstrated method is the only one
|
// Although this test works in K1 just fine, it is named with the suffix K2 to show that the demonstrated method is the only one
|
||||||
// available so far to call a script from another module.
|
// available so far to call a script from another module.
|
||||||
|
|||||||
-25
@@ -1,29 +1,4 @@
|
|||||||
MODULE main
|
MODULE main
|
||||||
CLASS MainKt.class
|
|
||||||
Annotation: class.invisibleAnnotations
|
|
||||||
K1
|
|
||||||
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
|
|
||||||
main.kt
|
|
||||||
Kotlin
|
|
||||||
*S Kotlin
|
|
||||||
*F
|
|
||||||
+ 1 main.kt
|
|
||||||
MainKt
|
|
||||||
+ 2 ArrayIntrinsics.kt
|
|
||||||
kotlin/ArrayIntrinsicsKt
|
|
||||||
*L
|
|
||||||
1#1,50:1
|
|
||||||
26#2:51
|
|
||||||
*S KotlinDebug
|
|
||||||
*F
|
|
||||||
+ 1 main.kt
|
|
||||||
MainKt
|
|
||||||
*L
|
|
||||||
42#1:51
|
|
||||||
*E
|
|
||||||
} )
|
|
||||||
K2
|
|
||||||
---
|
|
||||||
CLASS Script.class
|
CLASS Script.class
|
||||||
CLASS METADATA
|
CLASS METADATA
|
||||||
K1
|
K1
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// TARGET_BACKEND: JVM_IR
|
// TARGET_BACKEND: JVM_IR
|
||||||
// IGNORE_LIGHT_ANALYSIS
|
// IGNORE_LIGHT_ANALYSIS
|
||||||
// JVM_ABI_K1_K2_DIFF: KT-62465, KT-63960
|
// JVM_ABI_K1_K2_DIFF: KT-63960
|
||||||
// LANGUAGE: +ReferencesToSyntheticJavaProperties
|
// LANGUAGE: +ReferencesToSyntheticJavaProperties
|
||||||
// LANGUAGE: -SkipStandaloneScriptsInSourceRoots
|
// LANGUAGE: -SkipStandaloneScriptsInSourceRoots
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// JVM_ABI_K1_K2_DIFF: KT-62465
|
// JVM_ABI_K1_K2_DIFF: KT-66000
|
||||||
|
|
||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
package test
|
package test
|
||||||
|
|||||||
+6
@@ -1017,6 +1017,12 @@ public class JvmAbiConsistencyTestBoxGenerated extends AbstractJvmAbiConsistency
|
|||||||
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("emptyArrayDesugaring.kt")
|
||||||
|
public void testEmptyArrayDesugaring() {
|
||||||
|
runTest("compiler/testData/codegen/box/arrays/emptyArrayDesugaring.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("forEachBooleanArray.kt")
|
@TestMetadata("forEachBooleanArray.kt")
|
||||||
public void testForEachBooleanArray() {
|
public void testForEachBooleanArray() {
|
||||||
|
|||||||
+6
@@ -1017,6 +1017,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
|||||||
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("emptyArrayDesugaring.kt")
|
||||||
|
public void testEmptyArrayDesugaring() {
|
||||||
|
runTest("compiler/testData/codegen/box/arrays/emptyArrayDesugaring.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("forEachBooleanArray.kt")
|
@TestMetadata("forEachBooleanArray.kt")
|
||||||
public void testForEachBooleanArray() {
|
public void testForEachBooleanArray() {
|
||||||
|
|||||||
+6
@@ -1017,6 +1017,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
|
|||||||
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("emptyArrayDesugaring.kt")
|
||||||
|
public void testEmptyArrayDesugaring() {
|
||||||
|
runTest("compiler/testData/codegen/box/arrays/emptyArrayDesugaring.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("forEachBooleanArray.kt")
|
@TestMetadata("forEachBooleanArray.kt")
|
||||||
public void testForEachBooleanArray() {
|
public void testForEachBooleanArray() {
|
||||||
|
|||||||
+5
@@ -894,6 +894,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
|||||||
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
runTest("compiler/testData/codegen/box/arrays/constantArrayOfAny.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("emptyArrayDesugaring.kt")
|
||||||
|
public void testEmptyArrayDesugaring() {
|
||||||
|
runTest("compiler/testData/codegen/box/arrays/emptyArrayDesugaring.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("forEachBooleanArray.kt")
|
@TestMetadata("forEachBooleanArray.kt")
|
||||||
public void testForEachBooleanArray() {
|
public void testForEachBooleanArray() {
|
||||||
runTest("compiler/testData/codegen/box/arrays/forEachBooleanArray.kt");
|
runTest("compiler/testData/codegen/box/arrays/forEachBooleanArray.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user