Add JVM ABI K1/K2 consistency tests

This commit is contained in:
vladislav.grechko
2023-12-26 10:18:19 +00:00
committed by Space Team
parent 5a1fb78fcd
commit 34bac48541
1104 changed files with 88413 additions and 66 deletions
@@ -0,0 +1,9 @@
MODULE main
CLASS Test.class
CLASS METADATA
PROPERTY getArr()Ljava/util/ArrayList;
Property: class.metadata.property.returnType
K1
java/util/ArrayList<kotlin/String> /* = kotlin/collections/ArrayList^<kotlin/String> */
K2
java/util/ArrayList<kotlin/String>
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// JVM_ABI_K1_K2_DIFF: KT-63864
interface IFooList {
fun foo(): List<String>
@@ -0,0 +1,9 @@
MODULE main
CLASS Test.class
CLASS METADATA
PROPERTY getArr()Ljava/util/ArrayList;
Property: class.metadata.property.returnType
K1
java/util/ArrayList<kotlin/String> /* = kotlin/collections/ArrayList^<kotlin/String> */
K2
java/util/ArrayList<kotlin/String>
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
// JVM_ABI_K1_K2_DIFF: KT-63864
interface IFooList {
fun foo(): List<String>
@@ -0,0 +1,39 @@
MODULE main
CLASS RequestInputParameters.class
CLASS METADATA
K1
---
K2
entries
K1
getEntries()Ljava/util/Set;
K2
---
K1
getKeys()Ljava/util/Set;
K2
---
K1
getSize()I
K2
---
K1
getValues()Ljava/util/Collection;
K2
---
K1
---
K2
keys
K1
---
K2
size
K1
---
K2
values
K1
---
K2
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// JVM_ABI_K1_K2_DIFF: KT-57268, KT-63828
OPTIONAL_JVM_INLINE_ANNOTATION
value class FieldValue(val value: String)
@@ -0,0 +1,39 @@
MODULE main
CLASS RequestInputParameters.class
CLASS METADATA
K1
---
K2
entries
K1
getEntries()Ljava/util/Set;
K2
---
K1
getKeys()Ljava/util/Set;
K2
---
K1
getSize()I
K2
---
K1
getValues()Ljava/util/Collection;
K2
---
K1
---
K2
keys
K1
---
K2
size
K1
---
K2
values
K1
---
K2
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
// JVM_ABI_K1_K2_DIFF: KT-57268, KT-63828
OPTIONAL_JVM_INLINE_ANNOTATION
value class FieldValue<T: String>(val value: T)
@@ -0,0 +1,10 @@
MODULE main
CLASS ZArrayMap.class
K1
---
K2
getOrDefault-SjU93Dg([III)I [public, static]
K1
---
K2
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// JVM_ABI_K1_K2_DIFF: KT-57268
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z(val x: Int)
@@ -0,0 +1,10 @@
MODULE main
CLASS ZArrayMap.class
K1
---
K2
getOrDefault-SjU93Dg([III)I [public, static]
K1
---
K2
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
// JVM_ABI_K1_K2_DIFF: KT-57268
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z<T: Int>(val x: T)
@@ -0,0 +1,53 @@
MODULE main
CLASS IC1.class
CLASS METADATA
K1
getSize-impl(Ljava/util/List;)I
K2
---
K1
---
K2
size
CLASS IC3.class
CLASS METADATA
K1
---
K2
entries
K1
getEntries-impl(Ljava/util/Map;)Ljava/util/Set;
K2
---
K1
getKeys-impl(Ljava/util/Map;)Ljava/util/Set;
K2
---
K1
getSize-impl(Ljava/util/Map;)I
K2
---
K1
getValues-impl(Ljava/util/Map;)Ljava/util/Collection;
K2
---
K1
---
K2
keys
K1
---
K2
size
K1
---
K2
values
K1
---
K2
getOrDefault-impl(Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; [public, static]
K1
---
K2
remove-impl(Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;)Z [public, static]
@@ -2,6 +2,7 @@
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// IGNORE_BACKEND: JVM
// JVM_ABI_K1_K2_DIFF: KT-62817, KT-63828
OPTIONAL_JVM_INLINE_ANNOTATION
value class IC1<T>(val list: MutableList<T>) : MutableList<T> by list
@@ -0,0 +1,19 @@
MODULE main
CLASS Test.class
CLASS METADATA
K1
getK()Ljava/lang/String;
K2
---
K1
getOk()Ljava/lang/String;
K2
---
K1
---
K2
k
K1
---
K2
ok
@@ -1,7 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// JVM_ABI_K1_K2_DIFF: KT-63828
interface IFoo {
fun getO(): String
val k: String
@@ -0,0 +1,19 @@
MODULE main
CLASS Test.class
CLASS METADATA
K1
getK()Ljava/lang/String;
K2
---
K1
getOk()Ljava/lang/String;
K2
---
K1
---
K2
k
K1
---
K2
ok
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
// JVM_ABI_K1_K2_DIFF: KT-63828
interface IFoo {
fun getO(): String
@@ -0,0 +1,39 @@
MODULE main
CLASS DMap.class
CLASS METADATA
K1
---
K2
entries
K1
getEntries()Ljava/util/Set;
K2
---
K1
getKeys()Ljava/util/Set;
K2
---
K1
getSize()I
K2
---
K1
getValues()Ljava/util/Collection;
K2
---
K1
---
K2
keys
K1
---
K2
size
K1
---
K2
values
K1
---
K2
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// JVM_ABI_K1_K2_DIFF: KT-57268, KT-63828
OPTIONAL_JVM_INLINE_ANNOTATION
value class Wrapper(val id: Int)
@@ -0,0 +1,39 @@
MODULE main
CLASS DMap.class
CLASS METADATA
K1
---
K2
entries
K1
getEntries()Ljava/util/Set;
K2
---
K1
getKeys()Ljava/util/Set;
K2
---
K1
getSize()I
K2
---
K1
getValues()Ljava/util/Collection;
K2
---
K1
---
K2
keys
K1
---
K2
size
K1
---
K2
values
K1
---
K2
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
// JVM_ABI_K1_K2_DIFF: KT-57268, KT-63828
OPTIONAL_JVM_INLINE_ANNOTATION
value class Wrapper<T: Int>(val id: T)
@@ -0,0 +1,21 @@
MODULE main
CLASS TestFoo.class
CLASS METADATA
K1
---
K2
extVal
K1
getExtVal-gSa4wCw(Ljava/lang/String;)Ljava/lang/String;
K2
---
CLASS TestGFoo.class
CLASS METADATA
K1
---
K2
extVal
K1
getExtVal-gSa4wCw(Ljava/lang/String;)Ljava/lang/String;
K2
---
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// JVM_ABI_K1_K2_DIFF: KT-63828
import kotlin.test.assertEquals
@@ -0,0 +1,21 @@
MODULE main
CLASS TestFoo.class
CLASS METADATA
K1
---
K2
extVal
K1
getExtVal-gSa4wCw(Ljava/lang/String;)Ljava/lang/String;
K2
---
CLASS TestGFoo.class
CLASS METADATA
K1
---
K2
extVal
K1
getExtVal-gSa4wCw(Ljava/lang/String;)Ljava/lang/String;
K2
---
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
// JVM_ABI_K1_K2_DIFF: KT-63828
import kotlin.test.assertEquals
@@ -0,0 +1,21 @@
MODULE main
CLASS TestFoo.class
CLASS METADATA
K1
---
K2
extVar
K1
getExtVar-gSa4wCw([Ljava/lang/String;)Ljava/lang/String;
K2
---
CLASS TestGFoo.class
CLASS METADATA
K1
---
K2
extVar
K1
getExtVar-gSa4wCw([Ljava/lang/String;)Ljava/lang/String;
K2
---
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// JVM_ABI_K1_K2_DIFF: KT-63828
import kotlin.test.assertEquals
@@ -0,0 +1,15 @@
MODULE main
CLASS Test.class
CLASS METADATA
FUNCTION genericMemberExtFun--ndakOA(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
Property: class.metadata.function.typeParameters
K1
<T#0 /* X */>
K2
<T#0 /* X */ : kotlin/Any?>
FUNCTION genericMemberFun--ndakOA(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
Property: class.metadata.function.typeParameters
K1
<T#0 /* X */>
K2
<T#0 /* X */ : kotlin/Any?>
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// JVM_ABI_K1_K2_DIFF: KT-63855
import kotlin.test.assertEquals
@@ -0,0 +1,15 @@
MODULE main
CLASS Test.class
CLASS METADATA
FUNCTION genericMemberExtFun--ndakOA(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
Property: class.metadata.function.typeParameters
K1
<T#0 /* X */>
K2
<T#0 /* X */ : kotlin/Any?>
FUNCTION genericMemberFun--ndakOA(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
Property: class.metadata.function.typeParameters
K1
<T#0 /* X */>
K2
<T#0 /* X */ : kotlin/Any?>
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
// JVM_ABI_K1_K2_DIFF: KT-63855
import kotlin.test.assertEquals
@@ -0,0 +1,15 @@
MODULE main
CLASS Test.class
CLASS METADATA
FUNCTION genericMemberExtFun--ndakOA(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
Property: class.metadata.function.typeParameters
K1
<T#0 /* X */>
K2
<T#0 /* X */ : kotlin/Any?>
FUNCTION genericMemberFun--ndakOA(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
Property: class.metadata.function.typeParameters
K1
<T#0 /* X */>
K2
<T#0 /* X */ : kotlin/Any?>
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses
// JVM_ABI_K1_K2_DIFF: KT-63855
import kotlin.test.assertEquals
@@ -0,0 +1,15 @@
MODULE main
CLASS Test.class
CLASS METADATA
FUNCTION genericMemberExtFun--ndakOA(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
Property: class.metadata.function.typeParameters
K1
<T#0 /* X */>
K2
<T#0 /* X */ : kotlin/Any?>
FUNCTION genericMemberFun--ndakOA(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
Property: class.metadata.function.typeParameters
K1
<T#0 /* X */>
K2
<T#0 /* X */ : kotlin/Any?>
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
// JVM_ABI_K1_K2_DIFF: KT-63855
import kotlin.test.assertEquals
@@ -0,0 +1,8 @@
MODULE main
CLASS IcAny.class
CLASS METADATA
Property: class.metadata.typeParameters
K1
<T#0 /* T */>
K2
<T#0 /* T */ : kotlin/Any?>
@@ -2,6 +2,7 @@
// IGNORE_BACKEND: JVM
// TARGET_BACKEND: JVM
// WORKS_WHEN_VALUE_CLASS
// JVM_ABI_K1_K2_DIFF: KT-63855
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
// FILE: JavaClass.java
@@ -0,0 +1,9 @@
MODULE main
CLASS Kla1.class
CLASS METADATA
LOCAL DELEGATED PROPERTY prop
Property: class.metadata.property.typeParameters
K1
<T#0 /* T */ : kotlin/Int>
K2
<>
@@ -1,6 +1,7 @@
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
// JVM_ABI_K1_K2_DIFF: KT-63898
class Delegate {
operator fun getValue(t: Any?, p: Any): String = "OK"