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 BridgesJVMKt.class
PACKAGE METADATA
PROPERTY getList()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 @@
// TARGET_BACKEND: JVM
// TARGET_BACKEND: JVM_IR
// KJS_WITH_FULL_RUNTIME
// JVM_ABI_K1_K2_DIFF: KT-63864
val list = ArrayList<String>()
@@ -0,0 +1,6 @@
MODULE main
CLASS EmptyMap.class
K1
---
K2
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-57268
private object EmptyMap : Map<Any, Nothing> {
override val size: Int get() = 0
override fun isEmpty(): Boolean = true
@@ -0,0 +1,6 @@
MODULE main
CLASS EmptyStringMap.class
K1
---
K2
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-57268
private object EmptyStringMap : Map<String, Nothing> {
override val size: Int get() = 0
override fun isEmpty(): Boolean = true
@@ -0,0 +1,18 @@
MODULE main
CLASS Map1.class
K1
---
K2
getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; [public, final, bridge]
K1
---
K2
getOrDefault(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; [public, bridge]
K1
---
K2
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public, final, bridge]
K1
---
K2
remove(Ljava/lang/String;Ljava/lang/Object;)Z [public, bridge]
@@ -2,6 +2,7 @@
// WASM_MUTE_REASON: STDLIB_COLLECTION_INHERITANCE
// KJS_WITH_FULL_RUNTIME
// DONT_TARGET_EXACT_BACKEND: NATIVE
// JVM_ABI_K1_K2_DIFF: KT-57268
open class Map1 : HashMap<String, Any?>()
class Map2 : Map1()
@@ -0,0 +1,6 @@
MODULE main
CLASS A.class
K1
---
K2
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
+2
View File
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-57268
class A : Map<String, String> {
override val size: Int get() = 56
@@ -0,0 +1,24 @@
MODULE main
CLASS AbstractFoo.class
K1
---
K2
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
CLASS StringFoo.class
K1
---
K2
getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; [public, final, bridge]
K1
---
K2
getOrDefault(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; [public, bridge]
CLASS IntFoo.class
K1
---
K2
getOrDefault(ILjava/lang/Object;)Ljava/lang/Object; [public, bridge]
K1
---
K2
getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; [public, final, bridge]
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-57268
var result = ""
public abstract class AbstractFoo<K, V> : Map<K, V> {