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
+1
View File
@@ -286,6 +286,7 @@
/libraries/stdlib/wasm/internal/ "Kotlin Wasm"
/libraries/stdlib/wasm/src/generated/wasm/internal/ "Kotlin Wasm"
/libraries/tools/abi-comparator "Kotlin JVM"
/libraries/tools/atomicfu/ "Kotlin Libraries"
/libraries/tools/binary-compatibility-validator/ "Kotlin Libraries"
/libraries/tools/dukat/ "Kotlin JS"
@@ -0,0 +1,15 @@
MODULE main
CLASS Anno.class
CLASS METADATA
PROPERTY k()Ljava/lang/String;
Property: class.metadata.property.getterModifiers
K1
public final
K2
public final /* non-default */
PROPERTY o()Ljava/lang/String;
Property: class.metadata.property.getterModifiers
K1
public final
K2
public final /* non-default */
@@ -1,5 +1,6 @@
// TARGET_BACKEND: JVM
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-63843
import kotlin.test.assertEquals
@@ -0,0 +1,7 @@
MODULE main
CLASS E$E1.class
Annotation: class.visibleAnnotations
K1
@LFirst;
K2
---
@@ -2,6 +2,7 @@
// WITH_STDLIB
// KT-5665
// JVM_ABI_K1_K2_DIFF: KT-62470
@Retention(AnnotationRetention.RUNTIME)
annotation class First
@@ -0,0 +1,77 @@
MODULE main
CLASS PrivateProperties.class
CLASS METADATA
PROPERTY getX8()Ljava/lang/String;
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
value: kotlin/String
PROPERTY x2
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
value: kotlin/String
PROPERTY x3
Property: class.metadata.property.setterModifiers
K1
private final /* non-default */
K2
private final
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
---
PROPERTY x4
Property: class.metadata.property.setterModifiers
K1
private final /* non-default */
K2
private final
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
---
PROPERTY y0
Property: class.metadata.property.getterModifiers
K1
private final
K2
private final /* non-default */
PROPERTY y1
Property: class.metadata.property.getterModifiers
K1
private final
K2
private final /* non-default */
CLASS EffetivelyPrivate.class
CLASS METADATA
PROPERTY getX0()I
Property: class.metadata.property.getterModifiers
K1
public final
K2
public final /* non-default */
PROPERTY getX1()I
Property: class.metadata.property.getterModifiers
K1
protected final
K2
protected final /* non-default */
PROPERTY getX2$main()I
Property: class.metadata.property.getterModifiers
K1
internal final
K2
internal final /* non-default */
CLASS Statics$Companion.class
CLASS METADATA
PROPERTY getX2()Ljava/lang/String;
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
value: kotlin/String
@@ -1,5 +1,6 @@
// WITH_REFLECT
// TARGET_BACKEND: JVM
// JVM_ABI_K1_K2_DIFF: KT-63850, KT-63851, KT-63852, KT-63843, different naming of setter parameters
// Please make sure that this test is consistent with the diagnostic test "annotationsTargetingNonExistentAccessor.kt"
@@ -0,0 +1,26 @@
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,6 +6,8 @@
// WITH_STDLIB
// !LANGUAGE: +InstantiationOfAnnotationClasses
// JVM_ABI_K1_K2_DIFF: KT-62465
// note: taken from ../parameters.kt and ../parametersWithPrimitiveValues.kt
import kotlin.reflect.KClass
import kotlin.test.assertEquals
@@ -0,0 +1,26 @@
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,6 +10,8 @@
// WITH_STDLIB
// !LANGUAGE: +InstantiationOfAnnotationClasses
// JVM_ABI_K1_K2_DIFF: KT-62465
package test
import kotlin.reflect.KClass
@@ -0,0 +1,35 @@
MODULE main
CLASS C.class
CLASS METADATA
PROPERTY getSynth2()I
Property: class.metadata.property.getterModifiers
K1
public final /* non-default */
K2
public final
Property: class.metadata.property.setterModifiers
K1
public final /* non-default */
K2
public final
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/Int
K2
---
PROPERTY getSynth4()I
Property: class.metadata.property.getterModifiers
K1
public final /* non-default */
K2
public final
Property: class.metadata.property.setterModifiers
K1
public final /* non-default */
K2
public final
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/Int
K2
---
@@ -3,6 +3,8 @@
// WITH_STDLIB
// FULL_JDK
// JVM_ABI_K1_K2_DIFF: KT-63853, KT-63854
import java.lang.reflect.Modifier
import kotlin.reflect.KProperty
@@ -0,0 +1,26 @@
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
---
+2
View File
@@ -1,6 +1,8 @@
// WITH_STDLIB
// TARGET_BACKEND: JVM
// JVM_ABI_K1_K2_DIFF: KT-62465
object A {
@JvmStatic fun main(args: Array<String>) {
val b = arrayOf(arrayOf(""))
@@ -0,0 +1,15 @@
MODULE main
CLASS EqNullableDoublesToIntWithTPKt.class
PACKAGE METADATA
FUNCTION eq_doubleN_anyN(Ljava/lang/Double;Ljava/lang/Object;)Z
Property: class.metadata.function.typeParameters
K1
<T#0 /* A */ : kotlin/Double?, T#1 /* B */>
K2
<T#0 /* A */ : kotlin/Double?, T#1 /* B */ : kotlin/Any?>
FUNCTION eq_double_anyN(DLjava/lang/Object;)Z
Property: class.metadata.function.typeParameters
K1
<T#0 /* A */ : kotlin/Double, T#1 /* B */>
K2
<T#0 /* A */ : kotlin/Double, T#1 /* B */ : kotlin/Any?>
@@ -4,6 +4,8 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// JVM_ABI_K1_K2_DIFF: KT-63855
fun <A: Double, B: Any> eq_double_any(a: A, b: B) = a == b
fun <A: Double, B: Any?> eq_double_anyN(a: A, b: B) = a == b
@@ -0,0 +1,15 @@
MODULE main
CLASS EqNullableDoublesWithTPKt.class
PACKAGE METADATA
FUNCTION eq_doubleN_anyN(Ljava/lang/Double;Ljava/lang/Object;)Z
Property: class.metadata.function.typeParameters
K1
<T#0 /* A */ : kotlin/Double?, T#1 /* B */>
K2
<T#0 /* A */ : kotlin/Double?, T#1 /* B */ : kotlin/Any?>
FUNCTION eq_double_anyN(DLjava/lang/Object;)Z
Property: class.metadata.function.typeParameters
K1
<T#0 /* A */ : kotlin/Double, T#1 /* B */>
K2
<T#0 /* A */ : kotlin/Double, T#1 /* B */ : kotlin/Any?>
@@ -1,5 +1,7 @@
// !LANGUAGE: +ProperIeee754Comparisons
// JVM_ABI_K1_K2_DIFF: KT-63855
fun <A: Double, B: Double?> eq_double_doubleN(a: A, b: B) = a == b
fun <A: Double, B: Any> eq_double_any(a: A, b: B) = a == b
@@ -0,0 +1,11 @@
MODULE main
CLASS ContentBoxDelegate.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
@@ -1,5 +1,7 @@
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-63828
open class Content() {
override fun toString() = "OK"
}
@@ -0,0 +1,11 @@
MODULE main
CLASS B.class
CLASS METADATA
K1
getResult()Ljava/lang/String;
K2
---
K1
---
K2
result
@@ -1,3 +1,4 @@
// JVM_ABI_K1_K2_DIFF: KT-63828
interface A<T> {
var result: T
}
@@ -0,0 +1,22 @@
MODULE main
CLASS A.class
CLASS METADATA
PROPERTY getX()Ljava/lang/Object;
Property: class.metadata.property.getterModifiers
K1
public open /* non-default */
K2
public open
CLASS B.class
CLASS METADATA
PROPERTY getX()Ljava/lang/String;
Property: class.metadata.property.setterModifiers
K1
public open /* non-default */
K2
public open
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
---
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-63850, KT-63854
open class A<T> {
open var x: T = "Fail" as T
get
@@ -0,0 +1,13 @@
MODULE main
CLASS MutableExtensionPropertiesYieldCaseKt$testYield$1.class
Property: class.signature
K1
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function1<LBuildee<Ljava/lang/Object;>;Lkotlin/Unit;>;
K2
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function1<LBuildee<LUserKlass;>;Lkotlin/Unit;>;
METHOD invoke(LBuildee;)V
Property: method.signature
K1
(LBuildee<Ljava/lang/Object;>;)V
K2
(LBuildee<LUserKlass;>;)V
@@ -1,6 +1,8 @@
// ISSUE: KT-61909
// REASON: unexpected yellow code in K1 (see corresponding diagnostic test)
// JVM_ABI_K1_K2_DIFF: KT-61909
// IGNORE_LIGHT_ANALYSIS
// REASON: unexpected red code (false-positive NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER in testYield)
@@ -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
@@ -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
@@ -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
@@ -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,4 +1,5 @@
// TARGET_BACKEND: JVM
// JVM_ABI_K1_K2_DIFF: KT-57268
import java.util.AbstractMap
import java.util.Collections
@@ -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 {
@@ -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
@@ -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 {
@@ -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
@@ -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 {
@@ -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
@@ -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>
@@ -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,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
@@ -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>
@@ -0,0 +1,9 @@
MODULE main
CLASS NullableReceiverInEqualsKt.class
PACKAGE METADATA
PROPERTY getA_foo()Lkotlin/reflect/KFunction;
Property: class.metadata.property.returnType
K1
kotlin/reflect/KFunction1<A, kotlin/Unit>
K2
@kotlin/ExtensionFunctionType kotlin/reflect/KFunction1<A, kotlin/Unit>
@@ -5,6 +5,8 @@
// TODO: investigate should it be ran for JS or not
// IGNORE_BACKEND: JS
// JVM_ABI_K1_K2_DIFF: KT-63859
// See https://youtrack.jetbrains.com/issue/KT-14938
// WITH_REFLECT
@@ -0,0 +1,9 @@
MODULE main
CLASS FunInterfaceConstructorIsKFunctionKt.class
PACKAGE METADATA
PROPERTY getKr()Lkotlin/reflect/KFunction;
Property: class.metadata.property.returnType
K1
kotlin/reflect/KFunction1<@kotlin/ParameterName(name = "function") kotlin/Function0<kotlin/Unit>, KRunnable>
K2
kotlin/reflect/KFunction1<kotlin/Function0<kotlin/Unit>, KRunnable>
@@ -6,6 +6,8 @@
// IGNORE_BACKEND: JS
// ^ Failed: kr is class Function1
// JVM_ABI_K1_K2_DIFF: KT-63861
// WITH_REFLECT
import kotlin.reflect.KFunction
@@ -0,0 +1,9 @@
MODULE main
CLASS FunInterfaceConstructorOfImplicitKFunctionTypeKt.class
PACKAGE METADATA
PROPERTY getKr()Lkotlin/reflect/KFunction;
Property: class.metadata.property.returnType
K1
kotlin/reflect/KFunction1<@kotlin/ParameterName(name = "function") kotlin/Function0<kotlin/Unit>, KRunnable>
K2
kotlin/reflect/KFunction1<kotlin/Function0<kotlin/Unit>, KRunnable>
@@ -3,6 +3,8 @@
// IGNORE_BACKEND: JVM
// ^ unsupported in old JVM BE
// JVM_ABI_K1_K2_DIFF: KT-63861
fun interface KRunnable {
fun run()
}
@@ -0,0 +1,29 @@
MODULE main
CLASS GetArityViaFunctionImplKt$box$6.class
Property: class.signature
K1
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function1<Ljava/lang/String;Ljava/lang/Object;>;
K2
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function1<Ljava/lang/String;Ljava/lang/String;>;
K1
invoke(Ljava/lang/String;)Ljava/lang/Object; [public, final]
K2
---
K1
---
K2
invoke(Ljava/lang/String;)Ljava/lang/String; [public, final]
CLASS GetArityViaFunctionImplKt$box$9.class
Property: class.signature
K1
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function1<Ljava/lang/Integer;Ljava/lang/Object;>;
K2
Lkotlin/jvm/internal/Lambda;Lkotlin/jvm/functions/Function1<Ljava/lang/Integer;Ljava/lang/Integer;>;
K1
---
K2
invoke(I)Ljava/lang/Integer; [public, final]
K1
invoke(I)Ljava/lang/Object; [public, final]
K2
---
@@ -1,5 +1,6 @@
// TARGET_BACKEND: JVM
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-62770
// LAMBDAS: CLASS
import kotlin.test.assertEquals
@@ -0,0 +1,13 @@
MODULE main
CLASS Outer$Inner$p$1.class
Property: class.signature
K1
Lkotlin/jvm/internal/FunctionReferenceImpl;Lkotlin/jvm/functions/Function2<TPT;TPT;LOuter$Inner$p$PLocal<TPT;TIT;TOT;>;>;
K2
Lkotlin/jvm/internal/FunctionReferenceImpl;Lkotlin/jvm/functions/Function2<TPT;TPT;LOuter$Inner$p$PLocal<TPT;TPT;TIT;TOT;>;>;
METHOD invoke(Ljava/lang/Object;Ljava/lang/Object;)LOuter$Inner$p$PLocal;
Property: method.signature
K1
(TPT;TPT;)LOuter$Inner$p$PLocal<TPT;TIT;TOT;>;
K2
(TPT;TPT;)LOuter$Inner$p$PLocal<TPT;TPT;TIT;TOT;>;
@@ -1,3 +1,4 @@
// JVM_ABI_K1_K2_DIFF: KT-62584
// KT-42025
@@ -0,0 +1,13 @@
MODULE main
CLASS GenericLocalClassConstructorReferenceKt$p$1.class
Property: class.signature
K1
Lkotlin/jvm/internal/FunctionReferenceImpl;Lkotlin/jvm/functions/Function2<TPT;TPT;LGenericLocalClassConstructorReferenceKt$p$PLocal<TPT;>;>;
K2
Lkotlin/jvm/internal/FunctionReferenceImpl;Lkotlin/jvm/functions/Function2<TPT;TPT;LGenericLocalClassConstructorReferenceKt$p$PLocal<TPT;TPT;>;>;
METHOD invoke(Ljava/lang/Object;Ljava/lang/Object;)LGenericLocalClassConstructorReferenceKt$p$PLocal;
Property: method.signature
K1
(TPT;TPT;)LGenericLocalClassConstructorReferenceKt$p$PLocal<TPT;>;
K2
(TPT;TPT;)LGenericLocalClassConstructorReferenceKt$p$PLocal<TPT;TPT;>;
@@ -1,3 +1,4 @@
// JVM_ABI_K1_K2_DIFF: KT-62584
// KT-42025
@@ -0,0 +1,9 @@
MODULE main
CLASS a/A.class
CLASS METADATA
PROPERTY getValue()Ljava/lang/String;
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
value: kotlin/String
@@ -1,7 +1,10 @@
// JVM_ABI_K1_K2_DIFF: KT-63984
// WITH_STDLIB
// FILE: b.kt
import a.A
class B {
fun getValue() = sequenceOf(A()).map(A::value).first()
}
@@ -0,0 +1,17 @@
MODULE main
CLASS A.class
CLASS METADATA
PROPERTY getValue()Ljava/lang/String;
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
value: kotlin/String
CLASS C.class
CLASS METADATA
PROPERTY getValue()Ljava/lang/String;
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
value: kotlin/String
@@ -1,3 +1,4 @@
// JVM_ABI_K1_K2_DIFF: KT-63984
class A {
var value: String = "fail1"
private set
@@ -0,0 +1,9 @@
MODULE main
CLASS Bar.class
CLASS METADATA
PROPERTY getFoo()Ljava/lang/String;
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
value: kotlin/String
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-63984
import kotlin.reflect.KMutableProperty
class Bar(name: String) {
@@ -0,0 +1,9 @@
MODULE main
CLASS Bar.class
CLASS METADATA
PROPERTY getFoo()Ljava/lang/String;
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
value: kotlin/String
@@ -1,4 +1,5 @@
// See KT-12337 Reference to property with invisible setter should not be a KMutableProperty
// JVM_ABI_K1_K2_DIFF: KT-63984
import kotlin.reflect.KProperty1
import kotlin.reflect.KMutableProperty
@@ -0,0 +1,23 @@
MODULE main
Missing in K2
TestKt$box$1.class
TestKt$box$2.class
CLASS TestKt.class
Annotation: class.invisibleAnnotations
K1
---
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
test.kt
Kotlin
*S Kotlin
*F
+ 1 test.kt
TestKt
+ 2 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,28:1
1#2:29
*E
} )
@@ -1,5 +1,6 @@
// TARGET_BACKEND: JVM
// !LANGUAGE: +ReferencesToSyntheticJavaProperties
// JVM_ABI_K1_K2_DIFF: KT-62849
// FILE: J.java
@@ -0,0 +1,9 @@
MODULE main
CLASS GenericReturnCastKt.class
PACKAGE METADATA
FUNCTION someFunc(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
Property: class.metadata.function.typeParameters
K1
<T#0 /* T */>
K2
<T#0 /* T */ : kotlin/Any?>
@@ -1,3 +1,4 @@
// JVM_ABI_K1_K2_DIFF: KT-63855
fun <T : Any?> someFunc(a: T, arg: T? = null): T = arg ?: a
fun box(): String {
@@ -0,0 +1,147 @@
MODULE main
CLASS MLItr.class
CLASS METADATA
FUNCTION add(Ljava/lang/String;)V
Property: class.metadata.function.valueParameters
K1
(element: kotlin/String)
K2
(element: @kotlin/jvm/internal/EnhancedNullability kotlin/String)
FUNCTION set(Ljava/lang/String;)V
Property: class.metadata.function.valueParameters
K1
(element: kotlin/String)
K2
(element: @kotlin/jvm/internal/EnhancedNullability kotlin/String)
CLASS C.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS MC.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS L.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS ML.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS S.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS MS.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS M.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]
CLASS MM.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
@@ -1,4 +1,5 @@
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-57268, KT-63955, KT-63828
class Itr : Iterator<String> by ArrayList<String>().iterator()
class MItr : MutableIterator<String> by ArrayList<String>().iterator()
@@ -0,0 +1,147 @@
MODULE main
CLASS MLItr.class
CLASS METADATA
FUNCTION add(Ljava/lang/String;)V
Property: class.metadata.function.valueParameters
K1
(element: kotlin/String)
K2
(element: @kotlin/jvm/internal/EnhancedNullability kotlin/String)
FUNCTION set(Ljava/lang/String;)V
Property: class.metadata.function.valueParameters
K1
(element: kotlin/String)
K2
(element: @kotlin/jvm/internal/EnhancedNullability kotlin/String)
CLASS C.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS MC.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS L.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS ML.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS S.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS MS.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS M.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]
CLASS MM.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
@@ -1,4 +1,5 @@
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-57268, KT-63955, KT-63828
class Itr : Iterator<String> by ArrayList<String>().iterator()
class MItr : MutableIterator<String> by ArrayList<String>().iterator()
@@ -0,0 +1,6 @@
MODULE main
CLASS M.class
K1
---
K2
remove(Ljava/lang/Object;Ljava/lang/Object;)Z [public]
@@ -1,5 +1,5 @@
// TARGET_BACKEND: JVM
// JVM_ABI_K1_K2_DIFF: KT-57268
// WITH_STDLIB
abstract class Itr : Iterator<String>
@@ -0,0 +1,147 @@
MODULE main
CLASS MLItr.class
CLASS METADATA
FUNCTION add(Ljava/lang/String;)V
Property: class.metadata.function.valueParameters
K1
(element: kotlin/String)
K2
(element: @kotlin/jvm/internal/EnhancedNullability kotlin/String)
FUNCTION set(Ljava/lang/String;)V
Property: class.metadata.function.valueParameters
K1
(element: kotlin/String)
K2
(element: @kotlin/jvm/internal/EnhancedNullability kotlin/String)
CLASS C.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS MC.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS L.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS ML.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS S.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS MS.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS M.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]
CLASS MM.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
@@ -1,4 +1,5 @@
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-57268, KT-63955, KT-63828
class Itr : Iterator<String> by ArrayList<String>().iterator()
class MItr : MutableIterator<String> by ArrayList<String>().iterator()
@@ -0,0 +1,147 @@
MODULE main
CLASS MLItr.class
CLASS METADATA
FUNCTION add(Ljava/lang/String;)V
Property: class.metadata.function.valueParameters
K1
(element: kotlin/String)
K2
(element: @kotlin/jvm/internal/EnhancedNullability kotlin/String)
FUNCTION set(Ljava/lang/String;)V
Property: class.metadata.function.valueParameters
K1
(element: kotlin/String)
K2
(element: @kotlin/jvm/internal/EnhancedNullability kotlin/String)
CLASS C.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS MC.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS L.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS ML.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS S.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS MS.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS M.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]
CLASS MM.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
@@ -1,4 +1,5 @@
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-57268, KT-63955, KT-63828
class Itr : Iterator<String> by ArrayList<String>().iterator()
class MItr : MutableIterator<String> by ArrayList<String>().iterator()
@@ -0,0 +1,147 @@
MODULE main
CLASS MLItr.class
CLASS METADATA
FUNCTION add(Ljava/lang/String;)V
Property: class.metadata.function.valueParameters
K1
(element: kotlin/String)
K2
(element: @kotlin/jvm/internal/EnhancedNullability kotlin/String)
FUNCTION set(Ljava/lang/String;)V
Property: class.metadata.function.valueParameters
K1
(element: kotlin/String)
K2
(element: @kotlin/jvm/internal/EnhancedNullability kotlin/String)
CLASS C.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS MC.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS L.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS ML.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS S.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS MS.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS M.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]
CLASS MM.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
@@ -1,5 +1,5 @@
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-57268, KT-63955, KT-63828
class Itr : Iterator<String> by ArrayList<String>().iterator()
class MItr : MutableIterator<String> by ArrayList<String>().iterator()
@@ -0,0 +1,147 @@
MODULE main
CLASS MLItr.class
CLASS METADATA
FUNCTION add(Ljava/lang/String;)V
Property: class.metadata.function.valueParameters
K1
(element: kotlin/String)
K2
(element: @kotlin/jvm/internal/EnhancedNullability kotlin/String)
FUNCTION set(Ljava/lang/String;)V
Property: class.metadata.function.valueParameters
K1
(element: kotlin/String)
K2
(element: @kotlin/jvm/internal/EnhancedNullability kotlin/String)
CLASS C.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS MC.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS L.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS ML.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS S.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS MS.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS M.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]
CLASS MM.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
@@ -1,4 +1,5 @@
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-57268
class Itr : Iterator<String> by ArrayList<String>().iterator()
class MItr : MutableIterator<String> by ArrayList<String>().iterator()
@@ -0,0 +1,41 @@
MODULE main
CLASS P1.class
CLASS METADATA
K1
getY()I
K2
---
K1
---
K2
y
CLASS P2.class
CLASS METADATA
K1
getY()I
K2
---
K1
---
K2
y
CLASS P3.class
CLASS METADATA
K1
getY()I
K2
---
K1
---
K2
y
CLASS P4.class
CLASS METADATA
K1
getY()I
K2
---
K1
---
K2
y
+2
View File
@@ -1,5 +1,7 @@
// Changed when traits were introduced. May not make sense any more
// JVM_ABI_K1_K2_DIFF: KT-63828
open class X(val x : Int) {}
interface Y {
abstract val y : Int
@@ -0,0 +1,9 @@
MODULE main
CLASS MyHttpServer.class
CLASS METADATA
PROPERTY getLogger()Ljava/lang/StringBuilder;
Property: class.metadata.property.returnType
K1
java/lang/StringBuilder /* = kotlin/text/StringBuilder^ */
K2
java/lang/StringBuilder
+2
View File
@@ -1,4 +1,6 @@
// KJS_WITH_FULL_RUNTIME
// JVM_ABI_K1_K2_DIFF: KT-63864
public interface LoggerAware {
public val logger: StringBuilder
}
@@ -0,0 +1,11 @@
MODULE main
CLASS Derived.class
CLASS METADATA
K1
getResult()Ljava/lang/String;
K2
---
K1
---
K2
result

Some files were not shown because too many files have changed in this diff Show More