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,13 @@
MODULE main
CLASS MainKt$box$2.class
Property: class.signature
K1
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function1<LTestInterface<Ljava/lang/Object;>;Lkotlin/Unit;>;
K2
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function1<LTestInterface<Ljava/lang/String;>;Lkotlin/Unit;>;
METHOD invoke(LTestInterface;)V
Property: method.signature
K1
(LTestInterface<Ljava/lang/Object;>;)V
K2
(LTestInterface<Ljava/lang/String;>;)V
@@ -1,5 +1,6 @@
// !LANGUAGE: +UnrestrictedBuilderInference
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-61909
// FILE: main.kt
import kotlin.experimental.ExperimentalTypeInference
@@ -0,0 +1,185 @@
MODULE main
CLASS Tag.class
CLASS METADATA
CONSTRUCTOR <init>(Lkotlin/jvm/functions/Function1;)V
Property: class.metadata.constructor.valueParameters
K1
(action: kotlin/Function1<T#0, kotlin/Unit> /* = Action^<T#0> */)
K2
(action: kotlin/Function1<@kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<T#0> */)
FUNCTION copy(Lkotlin/jvm/functions/Function1;)LTag;
Property: class.metadata.function.valueParameters
K1
(action: kotlin/Function1<T#0, kotlin/Unit> /* = Action^<T#0> */ /* = ... */)
K2
(action: kotlin/Function1<@kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<T#0> */ /* = ... */)
PROPERTY getAction()Lkotlin/jvm/functions/Function1;
Property: class.metadata.property.returnType
K1
kotlin/Function1<T#0, kotlin/Unit> /* = Action^<T#0> */
K2
kotlin/Function1<@kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<T#0> */
CLASS Tag2.class
CLASS METADATA
CONSTRUCTOR <init>(Lkotlin/jvm/functions/Function1;)V
Property: class.metadata.constructor.valueParameters
K1
(action: kotlin/Function1<in T#0, kotlin/Unit> /* = Action^<in T#0> */)
K2
(action: kotlin/Function1<in @kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<in T#0> */)
FUNCTION copy(Lkotlin/jvm/functions/Function1;)LTag2;
Property: class.metadata.function.valueParameters
K1
(action: kotlin/Function1<in T#0, kotlin/Unit> /* = Action^<in T#0> */ /* = ... */)
K2
(action: kotlin/Function1<in @kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<in T#0> */ /* = ... */)
PROPERTY getAction()Lkotlin/jvm/functions/Function1;
Property: class.metadata.property.returnType
K1
kotlin/Function1<in T#0, kotlin/Unit> /* = Action^<in T#0> */
K2
kotlin/Function1<in @kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<in T#0> */
CLASS Tag3.class
CLASS METADATA
CONSTRUCTOR <init>(Lkotlin/jvm/functions/Function1;)V
Property: class.metadata.constructor.valueParameters
K1
(action: kotlin/Function1<T#0, kotlin/Unit> /* = Action^<T#0> */)
K2
(action: kotlin/Function1<@kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<T#0> */)
FUNCTION copy(Lkotlin/jvm/functions/Function1;)LTag3;
Property: class.metadata.function.valueParameters
K1
(action: kotlin/Function1<T#0, kotlin/Unit> /* = Action^<T#0> */ /* = ... */)
K2
(action: kotlin/Function1<@kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<T#0> */ /* = ... */)
PROPERTY getAction()Lkotlin/jvm/functions/Function1;
Property: class.metadata.property.returnType
K1
kotlin/Function1<T#0, kotlin/Unit> /* = Action^<T#0> */
K2
kotlin/Function1<@kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<T#0> */
CLASS Tag4.class
CLASS METADATA
CONSTRUCTOR <init>(Lkotlin/jvm/functions/Function1;)V
Property: class.metadata.constructor.valueParameters
K1
(action: kotlin/Function1<in T#0, kotlin/Unit> /* = Action^<in T#0> */)
K2
(action: kotlin/Function1<in @kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<in T#0> */)
FUNCTION copy(Lkotlin/jvm/functions/Function1;)LTag4;
Property: class.metadata.function.valueParameters
K1
(action: kotlin/Function1<in T#0, kotlin/Unit> /* = Action^<in T#0> */ /* = ... */)
K2
(action: kotlin/Function1<in @kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<in T#0> */ /* = ... */)
PROPERTY getAction()Lkotlin/jvm/functions/Function1;
Property: class.metadata.property.returnType
K1
kotlin/Function1<in T#0, kotlin/Unit> /* = Action^<in T#0> */
K2
kotlin/Function1<in @kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<in T#0> */
CLASS Tag5.class
CLASS METADATA
CONSTRUCTOR <init>(Lkotlin/jvm/functions/Function1;)V
Property: class.metadata.constructor.valueParameters
K1
(action: kotlin/Function1<T#0, T#0> /* = Action2^<T#0> */)
K2
(action: kotlin/Function1<@kotlin/UnsafeVariance T#0, T#0> /* = Action2^<T#0> */)
FUNCTION copy(Lkotlin/jvm/functions/Function1;)LTag5;
Property: class.metadata.function.valueParameters
K1
(action: kotlin/Function1<T#0, T#0> /* = Action2^<T#0> */ /* = ... */)
K2
(action: kotlin/Function1<@kotlin/UnsafeVariance T#0, T#0> /* = Action2^<T#0> */ /* = ... */)
PROPERTY getAction()Lkotlin/jvm/functions/Function1;
Property: class.metadata.property.returnType
K1
kotlin/Function1<T#0, T#0> /* = Action2^<T#0> */
K2
kotlin/Function1<@kotlin/UnsafeVariance T#0, T#0> /* = Action2^<T#0> */
CLASS Tag6.class
CLASS METADATA
CONSTRUCTOR <init>(Lkotlin/jvm/functions/Function1;)V
Property: class.metadata.constructor.valueParameters
K1
(action: kotlin/Function1<in T#0, kotlin/Unit> /* = Action^<in T#0> */)
K2
(action: kotlin/Function1<in @kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<in T#0> */)
FUNCTION copy(Lkotlin/jvm/functions/Function1;)LTag6;
Property: class.metadata.function.valueParameters
K1
(action: kotlin/Function1<in T#0, kotlin/Unit> /* = Action^<in T#0> */ /* = ... */)
K2
(action: kotlin/Function1<in @kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<in T#0> */ /* = ... */)
PROPERTY getAction()Lkotlin/jvm/functions/Function1;
Property: class.metadata.property.returnType
K1
kotlin/Function1<in T#0, kotlin/Unit> /* = Action^<in T#0> */
K2
kotlin/Function1<in @kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<in T#0> */
CLASS Tag7.class
CLASS METADATA
CONSTRUCTOR <init>(Lkotlin/jvm/functions/Function1;)V
Property: class.metadata.constructor.valueParameters
K1
(action: kotlin/Function1<T#0, kotlin/Unit> /* = Action^<T#0> */)
K2
(action: kotlin/Function1<@kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<T#0> */)
FUNCTION copy(Lkotlin/jvm/functions/Function1;)LTag7;
Property: class.metadata.function.valueParameters
K1
(action: kotlin/Function1<T#0, kotlin/Unit> /* = Action^<T#0> */ /* = ... */)
K2
(action: kotlin/Function1<@kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<T#0> */ /* = ... */)
PROPERTY getAction()Lkotlin/jvm/functions/Function1;
Property: class.metadata.property.returnType
K1
kotlin/Function1<T#0, kotlin/Unit> /* = Action^<T#0> */
K2
kotlin/Function1<@kotlin/UnsafeVariance T#0, kotlin/Unit> /* = Action^<T#0> */
CLASS Tag8.class
CLASS METADATA
CONSTRUCTOR <init>(Lkotlin/jvm/functions/Function1;)V
Property: class.metadata.constructor.valueParameters
K1
(action: kotlin/Function1<T#0, T#0> /* = Action2^<T#0> */)
K2
(action: kotlin/Function1<@kotlin/UnsafeVariance T#0, T#0> /* = Action2^<T#0> */)
FUNCTION copy(Lkotlin/jvm/functions/Function1;)LTag8;
Property: class.metadata.function.valueParameters
K1
(action: kotlin/Function1<T#0, T#0> /* = Action2^<T#0> */ /* = ... */)
K2
(action: kotlin/Function1<@kotlin/UnsafeVariance T#0, T#0> /* = Action2^<T#0> */ /* = ... */)
PROPERTY getAction()Lkotlin/jvm/functions/Function1;
Property: class.metadata.property.returnType
K1
kotlin/Function1<T#0, T#0> /* = Action2^<T#0> */
K2
kotlin/Function1<@kotlin/UnsafeVariance T#0, T#0> /* = Action2^<T#0> */
CLASS CapturedTypesSubstitutionIntoAbbreviationKt.class
PACKAGE METADATA
TYPE ALIAS Action
Property: class.metadata.typeAlias.underlyingType
K1
kotlin/Function1<T#0, kotlin/Unit>
K2
kotlin/Function1<@kotlin/UnsafeVariance T#0, kotlin/Unit>
Property: class.metadata.typeAlias.expandedType
K1
kotlin/Function1<T#0, kotlin/Unit>
K2
kotlin/Function1<@kotlin/UnsafeVariance T#0, kotlin/Unit>
TYPE ALIAS Action2
Property: class.metadata.typeAlias.underlyingType
K1
kotlin/Function1<T#0, T#0>
K2
kotlin/Function1<@kotlin/UnsafeVariance T#0, T#0>
Property: class.metadata.typeAlias.expandedType
K1
kotlin/Function1<T#0, T#0>
K2
kotlin/Function1<@kotlin/UnsafeVariance T#0, T#0>
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-63858
typealias Action<K> = (@UnsafeVariance K) -> Unit
typealias Action2<K> = (@UnsafeVariance K) -> K
@@ -0,0 +1,10 @@
MODULE main
CLASS MyFinalClassI.class
K1
---
K2
test(I)Ljava/lang/Integer; [public]
K1
---
K2
testWithDefault(Ljava/lang/Integer;)Ljava/lang/Integer; [public]
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-62781
// MODULE: InterfaceModule
// FILE: MyInterface.kt
interface MyInterface<T> {
@@ -0,0 +1,9 @@
MODULE main
CLASS A.class
CLASS METADATA
FUNCTION foo(Ljava/lang/Object;)Ljava/lang/Object;
Property: class.metadata.function.valueParameters
K1
(x: T#0)
K2
(x: @kotlin/UnsafeVariance T#0)
@@ -1,3 +1,4 @@
// JVM_ABI_K1_K2_DIFF: KT-63858
class A<out K> {
fun foo(x: @UnsafeVariance K): K = x
}