Add JVM ABI K1/K2 consistency tests
This commit is contained in:
committed by
Space Team
parent
5a1fb78fcd
commit
34bac48541
@@ -0,0 +1,17 @@
|
||||
MODULE main
|
||||
CLASS CollectionKt$box$6.class
|
||||
Property: class.signature
|
||||
K1
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;
|
||||
K2
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Ljava/lang/Object;>;
|
||||
K1
|
||||
invoke()V [public, final]
|
||||
K2
|
||||
---
|
||||
METHOD invoke()Ljava/lang/Object;
|
||||
Property: method.access
|
||||
K1
|
||||
1000001000001 [public, bridge, synthetic]
|
||||
K2
|
||||
10001 [public, final]
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_ABI_K1_K2_DIFF: KT-62550
|
||||
|
||||
class MyCollection<T>: Collection<T> {
|
||||
override val size: Int get() = 0
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
MODULE main
|
||||
CLASS ListKt$box$6.class
|
||||
Property: class.signature
|
||||
K1
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;
|
||||
K2
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Ljava/lang/Object;>;
|
||||
K1
|
||||
invoke()V [public, final]
|
||||
K2
|
||||
---
|
||||
METHOD invoke()Ljava/lang/Object;
|
||||
Property: method.access
|
||||
K1
|
||||
1000001000001 [public, bridge, synthetic]
|
||||
K2
|
||||
10001 [public, final]
|
||||
CLASS ListKt$box$8.class
|
||||
Property: class.signature
|
||||
K1
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;
|
||||
K2
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Ljava/lang/Object;>;
|
||||
K1
|
||||
invoke()V [public, final]
|
||||
K2
|
||||
---
|
||||
METHOD invoke()Ljava/lang/Object;
|
||||
Property: method.access
|
||||
K1
|
||||
1000001000001 [public, bridge, synthetic]
|
||||
K2
|
||||
10001 [public, final]
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_ABI_K1_K2_DIFF: KT-62550
|
||||
|
||||
class MyList<T>: List<T> {
|
||||
override val size: Int get() = 0
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
MODULE main
|
||||
CLASS ListIteratorKt$box$1.class
|
||||
Property: class.signature
|
||||
K1
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;
|
||||
K2
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Ljava/lang/Object;>;
|
||||
K1
|
||||
invoke()V [public, final]
|
||||
K2
|
||||
---
|
||||
METHOD invoke()Ljava/lang/Object;
|
||||
Property: method.access
|
||||
K1
|
||||
1000001000001 [public, bridge, synthetic]
|
||||
K2
|
||||
10001 [public, final]
|
||||
CLASS ListIteratorKt$box$2.class
|
||||
Property: class.signature
|
||||
K1
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;
|
||||
K2
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Ljava/lang/Object;>;
|
||||
K1
|
||||
invoke()V [public, final]
|
||||
K2
|
||||
---
|
||||
METHOD invoke()Ljava/lang/Object;
|
||||
Property: method.access
|
||||
K1
|
||||
1000001000001 [public, bridge, synthetic]
|
||||
K2
|
||||
10001 [public, final]
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_ABI_K1_K2_DIFF: KT-62550
|
||||
|
||||
class MyListIterator<T> : ListIterator<T> {
|
||||
override fun next(): T = null!!
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
MODULE main
|
||||
CLASS MyMap.class
|
||||
K1
|
||||
---
|
||||
K2
|
||||
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_ABI_K1_K2_DIFF: KT-57268
|
||||
|
||||
class MyMap<K, V>: Map<K, V> {
|
||||
override val size: Int get() = 0
|
||||
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
MODULE main
|
||||
CLASS MyMap.class
|
||||
K1
|
||||
---
|
||||
K2
|
||||
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_ABI_K1_K2_DIFF: KT-57268
|
||||
|
||||
class MyMap<K, V>: Map<K, V> {
|
||||
override val size: Int get() = 0
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
MODULE main
|
||||
CLASS SubstitutedListKt$box$6.class
|
||||
Property: class.signature
|
||||
K1
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;
|
||||
K2
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Ljava/lang/Object;>;
|
||||
K1
|
||||
invoke()V [public, final]
|
||||
K2
|
||||
---
|
||||
METHOD invoke()Ljava/lang/Object;
|
||||
Property: method.access
|
||||
K1
|
||||
1000001000001 [public, bridge, synthetic]
|
||||
K2
|
||||
10001 [public, final]
|
||||
CLASS SubstitutedListKt$box$8.class
|
||||
Property: class.signature
|
||||
K1
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;
|
||||
K2
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Ljava/lang/Object;>;
|
||||
K1
|
||||
invoke()V [public, final]
|
||||
K2
|
||||
---
|
||||
METHOD invoke()Ljava/lang/Object;
|
||||
Property: method.access
|
||||
K1
|
||||
1000001000001 [public, bridge, synthetic]
|
||||
K2
|
||||
10001 [public, final]
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_ABI_K1_K2_DIFF: KT-62550
|
||||
|
||||
class MyList: List<String> {
|
||||
override val size: Int get() = 0
|
||||
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
MODULE main
|
||||
CLASS A.class
|
||||
CLASS METADATA
|
||||
K1
|
||||
getSize()I
|
||||
K2
|
||||
---
|
||||
K1
|
||||
---
|
||||
K2
|
||||
size
|
||||
CLASS B.class
|
||||
CLASS METADATA
|
||||
K1
|
||||
getSize()I
|
||||
K2
|
||||
---
|
||||
K1
|
||||
---
|
||||
K2
|
||||
size
|
||||
CLASS DelegationToArrayListKt$box$7.class
|
||||
Property: class.signature
|
||||
K1
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;
|
||||
K2
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Ljava/lang/Object;>;
|
||||
K1
|
||||
invoke()V [public, final]
|
||||
K2
|
||||
---
|
||||
METHOD invoke()Ljava/lang/Object;
|
||||
Property: method.access
|
||||
K1
|
||||
1000001000001 [public, bridge, synthetic]
|
||||
K2
|
||||
10001 [public, final]
|
||||
CLASS DelegationToArrayListKt$box$8.class
|
||||
Property: class.signature
|
||||
K1
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;
|
||||
K2
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Ljava/lang/Object;>;
|
||||
K1
|
||||
invoke()V [public, final]
|
||||
K2
|
||||
---
|
||||
METHOD invoke()Ljava/lang/Object;
|
||||
Property: method.access
|
||||
K1
|
||||
1000001000001 [public, bridge, synthetic]
|
||||
K2
|
||||
10001 [public, final]
|
||||
CLASS DelegationToArrayListKt$box$17.class
|
||||
Property: class.signature
|
||||
K1
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;
|
||||
K2
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Ljava/lang/Object;>;
|
||||
K1
|
||||
invoke()V [public, final]
|
||||
K2
|
||||
---
|
||||
METHOD invoke()Ljava/lang/Object;
|
||||
Property: method.access
|
||||
K1
|
||||
1000001000001 [public, bridge, synthetic]
|
||||
K2
|
||||
10001 [public, final]
|
||||
CLASS DelegationToArrayListKt$box$18.class
|
||||
Property: class.signature
|
||||
K1
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;
|
||||
K2
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Ljava/lang/Object;>;
|
||||
K1
|
||||
invoke()V [public, final]
|
||||
K2
|
||||
---
|
||||
METHOD invoke()Ljava/lang/Object;
|
||||
Property: method.access
|
||||
K1
|
||||
1000001000001 [public, bridge, synthetic]
|
||||
K2
|
||||
10001 [public, final]
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_ABI_K1_K2_DIFF: KT-62550, KT-63828
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
MODULE main
|
||||
CLASS A.class
|
||||
K1
|
||||
---
|
||||
K2
|
||||
getOrDefault(Ljava/lang/Integer;Ljava/lang/String;)Ljava/lang/String; [public, bridge]
|
||||
K1
|
||||
---
|
||||
K2
|
||||
getOrDefault(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; [public, final, bridge]
|
||||
K1
|
||||
---
|
||||
K2
|
||||
remove(Ljava/lang/Integer;Ljava/lang/String;)Z [public, bridge]
|
||||
K1
|
||||
---
|
||||
K2
|
||||
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public, final, bridge]
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_ABI_K1_K2_DIFF: KT-57268
|
||||
|
||||
import java.util.AbstractMap
|
||||
import java.util.Collections
|
||||
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
MODULE main
|
||||
CLASS A.class
|
||||
K1
|
||||
---
|
||||
K2
|
||||
getOrDefault(Ljava/lang/Object;D)Ljava/lang/Double; [public, final, bridge]
|
||||
K1
|
||||
---
|
||||
K2
|
||||
getOrDefault(Ljava/lang/String;D)Ljava/lang/Double; [public, bridge]
|
||||
K1
|
||||
---
|
||||
K2
|
||||
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public, final, bridge]
|
||||
K1
|
||||
---
|
||||
K2
|
||||
remove(Ljava/lang/String;Ljava/lang/Double;)Z [public, bridge]
|
||||
@@ -2,6 +2,8 @@
|
||||
// WASM_MUTE_REASON: STDLIB_COLLECTION_INHERITANCE
|
||||
// KJS_WITH_FULL_RUNTIME
|
||||
// DONT_TARGET_EXACT_BACKEND: NATIVE
|
||||
// JVM_ABI_K1_K2_DIFF: KT-57268
|
||||
|
||||
class A : HashMap<String, Double>()
|
||||
|
||||
fun box(): String {
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
MODULE main
|
||||
CLASS Test.class
|
||||
CLASS METADATA
|
||||
FUNCTION removeAt(I)Ljava/lang/Integer;
|
||||
Property: class.metadata.function.modifiers
|
||||
K1
|
||||
public open
|
||||
K2
|
||||
public open operator
|
||||
Vendored
+2
@@ -3,6 +3,8 @@
|
||||
// SKIP_JDK6
|
||||
// FULL_JDK
|
||||
|
||||
// JVM_ABI_K1_K2_DIFF: KT-63857
|
||||
|
||||
// FILE: superCallToFakeRemoveAt.kt
|
||||
class Test : IntArrayList() {
|
||||
override fun removeAt(index: Int): Int {
|
||||
|
||||
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
MODULE main
|
||||
CLASS Test.class
|
||||
CLASS METADATA
|
||||
FUNCTION removeAt(I)Ljava/lang/Integer;
|
||||
Property: class.metadata.function.modifiers
|
||||
K1
|
||||
public open
|
||||
K2
|
||||
public open operator
|
||||
+2
@@ -3,6 +3,8 @@
|
||||
// SKIP_JDK6
|
||||
// FULL_JDK
|
||||
|
||||
// JVM_ABI_K1_K2_DIFF: KT-63857
|
||||
|
||||
// FILE: superCallToRemoveAt.kt
|
||||
class Test : IntArrayList() {
|
||||
override fun removeAt(index: Int): Int {
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
MODULE main
|
||||
CLASS Test.class
|
||||
CLASS METADATA
|
||||
FUNCTION removeAt(I)Ljava/lang/Integer;
|
||||
Property: class.metadata.function.modifiers
|
||||
K1
|
||||
public open
|
||||
K2
|
||||
public open operator
|
||||
+2
@@ -3,6 +3,8 @@
|
||||
// SKIP_JDK6
|
||||
// FULL_JDK
|
||||
|
||||
// JVM_ABI_K1_K2_DIFF: KT-63857
|
||||
|
||||
// FILE: superCallToRemoveAtInJavaDefault.kt
|
||||
class Test : IntArrayList() {
|
||||
override fun removeAt(index: Int): Int {
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
MODULE main
|
||||
CLASS ImmutableCollection.class
|
||||
CLASS METADATA
|
||||
FUNCTION add(Ljava/lang/Object;)LImmutableCollection;
|
||||
Property: class.metadata.function.valueParameters
|
||||
K1
|
||||
(element: T#0)
|
||||
K2
|
||||
(element: @kotlin/UnsafeVariance T#0)
|
||||
FUNCTION addAll(Ljava/util/Collection;)LImmutableCollection;
|
||||
Property: class.metadata.function.valueParameters
|
||||
K1
|
||||
(elements: kotlin/collections/Collection<T#0>)
|
||||
K2
|
||||
(elements: kotlin/collections/Collection<@kotlin/UnsafeVariance T#0>)
|
||||
FUNCTION remove(Ljava/lang/Object;)LImmutableCollection;
|
||||
Property: class.metadata.function.valueParameters
|
||||
K1
|
||||
(element: T#0)
|
||||
K2
|
||||
(element: @kotlin/UnsafeVariance T#0)
|
||||
@@ -3,6 +3,8 @@
|
||||
// FULL_JDK
|
||||
// WITH_STDLIB
|
||||
|
||||
// JVM_ABI_K1_K2_DIFF: KT-63858
|
||||
|
||||
interface ImmutableCollection<out E> : Collection<E> {
|
||||
fun add(element: @UnsafeVariance E): ImmutableCollection<E>
|
||||
fun addAll(elements: Collection<@UnsafeVariance E>): ImmutableCollection<E>
|
||||
|
||||
Vendored
+17
@@ -0,0 +1,17 @@
|
||||
MODULE main
|
||||
CLASS ManyTypeParametersWithUpperBoundsKt$box$6.class
|
||||
Property: class.signature
|
||||
K1
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;
|
||||
K2
|
||||
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function0<Ljava/lang/Object;>;
|
||||
K1
|
||||
invoke()V [public, final]
|
||||
K2
|
||||
---
|
||||
METHOD invoke()Ljava/lang/Object;
|
||||
Property: method.access
|
||||
K1
|
||||
1000001000001 [public, bridge, synthetic]
|
||||
K2
|
||||
10001 [public, final]
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_STDLIB
|
||||
// JVM_ABI_K1_K2_DIFF: KT-62550
|
||||
|
||||
class A<U : Number, V : U, W : V> : Set<W> {
|
||||
override val size: Int get() = 0
|
||||
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
MODULE main
|
||||
CLASS B.class
|
||||
K1
|
||||
getOrDefault(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; [public, final, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
getOrDefault(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; [public, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public, final, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
remove(Ljava/lang/String;Ljava/lang/String;)Z [public, bridge]
|
||||
K2
|
||||
---
|
||||
CLASS D.class
|
||||
K1
|
||||
getOrDefault(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; [public, final, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
getOrDefault(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; [public, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public, final, bridge]
|
||||
K2
|
||||
---
|
||||
K1
|
||||
remove(Ljava/lang/String;Ljava/lang/String;)Z [public, bridge]
|
||||
K2
|
||||
---
|
||||
@@ -4,6 +4,7 @@
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_STDLIB
|
||||
// FULL_JDK
|
||||
// JVM_ABI_K1_K2_DIFF: KT-57301
|
||||
|
||||
// There should be no DefaultImpls method for MutableMap.remove(K;V)
|
||||
interface A<K, V> : MutableMap<K, V>
|
||||
|
||||
Reference in New Issue
Block a user