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,15 @@
MODULE main
CLASS a/A.class
CLASS METADATA
PROPERTY getVk()Ljava/lang/String;
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
value: kotlin/String
PROPERTY getVo()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
// FILE: accessorForProtectedPropertyWithPrivateSetter.kt
import a.A
@@ -0,0 +1,15 @@
MODULE main
CLASS a/A.class
CLASS METADATA
PROPERTY getVk()Ljava/lang/String;
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
value: kotlin/String
PROPERTY getVo()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
// FILE: accessorForProtectedPropertyWithPrivateSetterInObjectLiteral.kt
import a.A
@@ -0,0 +1,35 @@
MODULE main
CLASS Example.class
CLASS METADATA
PROPERTY getProp2()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 getUseSite2()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
---
@@ -1,4 +1,5 @@
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-63853
class Example {
@JvmSynthetic
@@ -0,0 +1,19 @@
MODULE main
CLASS DFoo.class
CLASS METADATA
K1
getTestExtVal(Ljava/lang/String;)Ljava/lang/String;
K2
---
K1
getTestVal()Ljava/lang/String;
K2
---
K1
---
K2
testExtVal
K1
---
K2
testVal
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-63828
annotation class Ann
interface IFoo {
@@ -0,0 +1,25 @@
MODULE main
CLASS A.class
CLASS METADATA
PROPERTY getP()I
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/Int
K2
value: kotlin/Int
PROPERTY getY()I
Property: class.metadata.property.getterModifiers
K1
public final
K2
public final /* non-default */
Property: class.metadata.property.setterModifiers
K1
public final
K2
public final /* non-default */
Property: class.metadata.property.setterValueParameter
K1
---
K2
value: kotlin/Int
@@ -1,4 +1,5 @@
// !LANGUAGE: +UseGetterNameForPropertyAnnotationsMethodOnJvm
// JVM_ABI_K1_K2_DIFF: KT-63843, KT-63984
import kotlin.reflect.KProperty
@@ -0,0 +1,27 @@
MODULE main
CLASS ListSet.class
CLASS METADATA
FUNCTION contains(Ljava/lang/Object;)Z
Property: class.metadata.function.valueParameters
K1
(element: T#0)
K2
(element: @kotlin/UnsafeVariance T#0)
FUNCTION containsAll(Ljava/util/Collection;)Z
Property: class.metadata.function.valueParameters
K1
(elements: kotlin/collections/Collection<T#0>)
K2
(elements: kotlin/collections/Collection<@kotlin/UnsafeVariance T#0>)
FUNCTION indexOf(Ljava/lang/Object;)I
Property: class.metadata.function.valueParameters
K1
(element: T#0)
K2
(element: @kotlin/UnsafeVariance T#0)
FUNCTION lastIndexOf(Ljava/lang/Object;)I
Property: class.metadata.function.valueParameters
K1
(element: T#0)
K2
(element: @kotlin/UnsafeVariance T#0)
@@ -1,6 +1,8 @@
// WITH_STDLIB
// FULL_JDK
// JVM_ABI_K1_K2_DIFF: KT-63858
import java.util.*
class ListSet<out E : Any> : List<E>, Set<E> {
@@ -0,0 +1,103 @@
MODULE main
CLASS DStringCollection.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS DStringSet.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS DStringList.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS DStringMap.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
CLASS DStringMapEntry.class
CLASS METADATA
K1
getKey()Ljava/lang/String;
K2
---
K1
getValue()Ljava/lang/Number;
K2
---
K1
---
K2
key
K1
---
K2
value
CLASS DStringCollectionBySet.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS DStringCollectionByList.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
@@ -1,5 +1,5 @@
// FULL_JDK
// JVM_ABI_K1_K2_DIFF: KT-63828
class DStringIterator(d: Iterator<String>) : Iterator<String> by d
class DStringListIterator(d: ListIterator<String>) : ListIterator<String> by d
@@ -0,0 +1,103 @@
MODULE main
CLASS DIntCollection.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS DIntSet.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS DIntList.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS DIntMap.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
CLASS DIntMapEntry.class
CLASS METADATA
K1
getKey()Ljava/lang/Integer;
K2
---
K1
getValue()Ljava/lang/Double;
K2
---
K1
---
K2
key
K1
---
K2
value
CLASS DIntCollectionBySet.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS DIntCollectionByList.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
@@ -1,5 +1,6 @@
// FULL_JDK
// See also: https://youtrack.jetbrains.com/issue/KT-42330
// JVM_ABI_K1_K2_DIFF: KT-63828
class DIntIterator(d: Iterator<Int>) : Iterator<Int> by d
@@ -0,0 +1,103 @@
MODULE main
CLASS DGenericCollection.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS DGenericSet.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS DGenericList.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS DGenericMap.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
CLASS DGenericMapEntry.class
CLASS METADATA
K1
getKey()Ljava/lang/Object;
K2
---
K1
getValue()Ljava/lang/Object;
K2
---
K1
---
K2
key
K1
---
K2
value
CLASS DGenericCollectionBySet.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS DGenericCollectionByList.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
@@ -1,4 +1,5 @@
// FULL_JDK
// JVM_ABI_K1_K2_DIFF: KT-63828
class DGenericIterator<T>(d: Iterator<T>) : Iterator<T> by d
@@ -0,0 +1,9 @@
MODULE main
CLASS MyList.class
CLASS METADATA
PROPERTY getElements()Ljava/util/ArrayList;
Property: class.metadata.property.returnType
K1
java/util/ArrayList<T#0> /* = kotlin/collections/ArrayList^<T#0> */
K2
java/util/ArrayList<T#0>
@@ -1,5 +1,8 @@
// Ensure the proper collection stubs are added, in
// particular *not* when specialized implementations are provided.
// JVM_ABI_K1_K2_DIFF: KT-63864
class MyList<E> : List<E> {
val elements = ArrayList<E>()
@@ -0,0 +1,9 @@
MODULE main
CLASS MyList.class
CLASS METADATA
PROPERTY getElements()Ljava/util/ArrayList;
Property: class.metadata.property.returnType
K1
java/util/ArrayList<T#0> /* = kotlin/collections/ArrayList^<T#0> */
K2
java/util/ArrayList<T#0>
@@ -1,5 +1,7 @@
// Ensure the proper collection stubs are added, in
// particular *not* when specialized implementations are provided.
// JVM_ABI_K1_K2_DIFF: KT-63864
class MyList<E> : MutableList<E> {
val elements = ArrayList<E>()
@@ -0,0 +1,31 @@
MODULE main
CLASS InternalToArray.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS PrivateToArray.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
CLASS PublicToArray.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
@@ -1,3 +1,4 @@
// JVM_ABI_K1_K2_DIFF: KT-63828
class InternalToArray(d: Collection<Any>): Collection<Any> by d {
internal fun toArray(): Array<Int> = null!!
}
@@ -0,0 +1,11 @@
MODULE main
CLASS InternalGenericToArray.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
@@ -1,3 +1,4 @@
// JVM_ABI_K1_K2_DIFF: KT-63828
class InternalGenericToArray<T>(d: Collection<T>): Collection<T> by d {
internal fun <T> toArray(arr: Array<T>): Array<T> = null!!
}
@@ -0,0 +1,9 @@
MODULE main
CLASS FunctionalTypeKt.class
PACKAGE METADATA
FUNCTION f(LO;LK;Lkotlin/jvm/functions/Function3;)Ljava/lang/Object;
Property: class.metadata.function.valueParameters
K1
(g: @kotlin/ExtensionFunctionType @kotlin/ContextFunctionTypeParams(count = 1) kotlin/Function3<O, K, Param, T#0>)
K2
(g: @kotlin/ContextFunctionTypeParams(count = 1) @kotlin/ExtensionFunctionType kotlin/Function3<O, K, Param, T#0>)
@@ -1,5 +1,6 @@
// !LANGUAGE: +ContextReceivers
// TARGET_BACKEND: JVM_IR
// JVM_ABI_K1_K2_DIFF: different order of function annotations
class Param
class O {
@@ -0,0 +1,9 @@
MODULE main
CLASS C.class
CLASS METADATA
FUNCTION jg1(Ljava/util/Collection;)V
Property: class.metadata.function.valueParameters
K1
(c: kotlin/collections/MutableCollection<out kotlin/CharSequence!>..kotlin/collections/Collection<kotlin/CharSequence!>?)
K2
(c: kotlin/collections/MutableCollection<out kotlin/CharSequence!>..kotlin/collections/Collection<out kotlin/CharSequence!>?)
@@ -1,4 +1,6 @@
// WITH_SIGNATURES
// JVM_ABI_K1_K2_DIFF: KT-63914
// FILE: delegationToJavaInterfaceWithWildcardType.kt
interface K {
fun kf1(): Collection<out CharSequence>
@@ -0,0 +1,42 @@
MODULE main
CLASS DeprecatedPropertyKt.class
PACKAGE METADATA
PROPERTY getTestValWithExplicitDefaultGet()I
Property: class.metadata.property.getterModifiers
K1
public final /* non-default */
K2
public final
PROPERTY getTestVarWithExplicitDefaultGet()I
Property: class.metadata.property.getterModifiers
K1
public final /* non-default */
K2
public final
PROPERTY getTestVarWithExplicitDefaultGetSet()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 getTestVarWithExplicitDefaultSet()I
Property: class.metadata.property.setterModifiers
K1
public final /* non-default */
K2
public final
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/Int
K2
---
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-63850, KT-63854
@Deprecated("")
val testVal = 1
@@ -0,0 +1,37 @@
MODULE main
CLASS Delegated.class
CLASS METADATA
K1
---
K2
extProp
K1
getExtProp(Ljava/lang/String;)Ljava/lang/String;
K2
---
K1
getProp()Ljava/lang/String;
K2
---
K1
---
K2
prop
CLASS Delegated2.class
CLASS METADATA
K1
---
K2
extProp
K1
getExtProp(Ljava/lang/String;)Ljava/lang/String;
K2
---
K1
getProp()Ljava/lang/String;
K2
---
K1
---
K2
prop
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-63828
interface IFoo {
@Deprecated("")
val prop: String get() = ""
@@ -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)
@@ -1,3 +1,5 @@
// 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,60 @@
MODULE main
CLASS _2Kt$box$$inlined$call$2.class
Annotation: class.invisibleAnnotations
K1
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$call$1
+ 2 2.kt
_2Kt
+ 3 1.kt
test/_1Kt
+ 4 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,11:1
21#2:12
7#3:13
1#4:14
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
21#1:13
21#1:14
*E
} )
K2
@Lkotlin/jvm/internal/SourceDebugExtension;( value: #{ SMAP
1.kt
Kotlin
*S Kotlin
*F
+ 1 1.kt
test/_1Kt$call$1
+ 2 2.kt
_2Kt
+ 3 1.kt
test/_1Kt
+ 4 fake.kt
kotlin/jvm/internal/FakeKt
*L
1#1,11:1
21#2:12
23#2:15
7#3:13
1#4:14
*S KotlinDebug
*F
+ 1 2.kt
_2Kt
*L
21#1:13
21#1:14
*E
} )
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-62464
// FILE: 1.kt
package test
@@ -0,0 +1,9 @@
MODULE main
CLASS Z.class
CLASS METADATA
PROPERTY getX()I
Property: class.metadata.property.getterModifiers
K1
public final
K2
public final /* non-default */
@@ -1,4 +1,5 @@
// !LANGUAGE: +InlineClasses +UseGetterNameForPropertyAnnotationsMethodOnJvm
// JVM_ABI_K1_K2_DIFF: KT-63843
interface IFoo {
fun overridingFun()
@@ -0,0 +1,9 @@
MODULE main
CLASS Annotation$Companion.class
CLASS METADATA
PROPERTY getTEST_FIELD2()Ljava/lang/String;
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
value: kotlin/String
@@ -1,5 +1,6 @@
// JVM_TARGET: 1.8
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-63984
annotation class Annotation {
companion object {
@@ -0,0 +1,9 @@
MODULE main
CLASS A.class
CLASS METADATA
PROPERTY b
Property: class.metadata.property.returnType
K1
.A$b$1
K2
.A.<no name provided>
+2
View File
@@ -1,4 +1,6 @@
// JVM_TARGET: 1.8
// JVM_ABI_K1_K2_DIFF: KT-63655
// FILE: kt43217.kt
class A {
private val b =
@@ -0,0 +1,9 @@
MODULE main
CLASS JImpl.class
CLASS METADATA
FUNCTION takeNotNull(Ljava/lang/String;)V
Property: class.metadata.function.valueParameters
K1
(x: kotlin/String)
K2
(x: @kotlin/jvm/internal/EnhancedNullability kotlin/String)
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-63955
// FILE: nullabilityAnnotationsOnDelegatedMembers.kt
class JImpl(j: J) : J by j
@@ -0,0 +1,21 @@
MODULE main
CLASS Test.class
CLASS METADATA
PROPERTY getInternalProperty$main()Ljava/lang/String;
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
value: kotlin/String
PROPERTY getProtectedProperty()Ljava/lang/String;
Property: class.metadata.property.setterValueParameter
K1
<set-?>: kotlin/String
K2
value: kotlin/String
PROPERTY getPublicProperty()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
open class Test {
var publicProperty: String = ""
private set
@@ -0,0 +1,9 @@
MODULE main
CLASS KRaw.class
CLASS METADATA
FUNCTION takesRawGenericIn(LGenericIn;)V
Property: class.metadata.function.valueParameters
K1
(g: /* raw */ GenericIn<kotlin/Number>../* raw */ GenericIn<kotlin/Nothing>?)
K2
(g: /* raw */ GenericIn<kotlin/Number>../* raw */ GenericIn<*>?)
@@ -1,4 +1,6 @@
// WITH_SIGNATURES
// JVM_ABI_K1_K2_DIFF: KT-63957
// FILE: rawTypeInSignature.kt
class GenericInv<T : Number>
@@ -0,0 +1,69 @@
MODULE main
CLASS GenericMap.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
CLASS AbstractGenericMap.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,3 +1,4 @@
// JVM_ABI_K1_K2_DIFF: KT-63828
// WITH_SIGNATURES
class GenericMap<K, V> : MutableMap<K, V> by HashMap<K, V>()
@@ -0,0 +1,69 @@
MODULE main
CLASS StringStringMap.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
CLASS AbstractStringStringMap.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,6 +1,8 @@
// WITH_SIGNATURES
// Test expectations differ between JVM and JVM IR backends, because of KT-40277. This should be revisited once KT-40277 is resolved.
// JVM_ABI_K1_K2_DIFF: KT-63828
class StringStringMap : MutableMap<String, String> by HashMap<String, String>()
abstract class AbstractStringStringMap : MutableMap<String, String> by HashMap<String, String>()
@@ -0,0 +1,69 @@
MODULE main
CLASS StringMap.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
CLASS AbstractStringMap.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,6 +1,7 @@
// WITH_SIGNATURES
// Test expectations differ between JVM and JVM IR backends, because of KT-40277. This should be revisited once KT-40277 is resolved.
// JVM_ABI_K1_K2_DIFF: KT-63828
class StringMap<V> : MutableMap<String, V> by HashMap<String, V>()
abstract class AbstractStringMap<V> : MutableMap<String, V> by HashMap<String, V>()
@@ -0,0 +1,35 @@
MODULE main
CLASS AMap1.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,6 +1,8 @@
// TARGET_BACKEND: JVM
// WITH_STDLIB
// FULL_JDK
// JVM_ABI_K1_K2_DIFF: KT-63828
abstract class AMap1<K1, V1>(private val m: Map<K1, V1>) : Map<K1, V1> by m
@@ -0,0 +1,66 @@
MODULE main
CLASS A.class
CLASS METADATA
PROPERTY getX()I
Property: class.metadata.property.getterModifiers
K1
public final
K2
public final /* non-default */
PROPERTY getY()I
Property: class.metadata.property.getterModifiers
K1
public final
K2
public final /* non-default */
CLASS B.class
CLASS METADATA
PROPERTY getY()LA;
Property: class.metadata.property.getterModifiers
K1
public final
K2
public final /* non-default */
CLASS C.class
CLASS METADATA
PROPERTY getX()LA;
Property: class.metadata.property.setterModifiers
K1
public final
K2
public final /* non-default */
Property: class.metadata.property.setterValueParameter
K1
---
K2
value: A
PROPERTY getY()LA;
Property: class.metadata.property.getterModifiers
K1
public final
K2
public final /* non-default */
Property: class.metadata.property.setterModifiers
K1
public final
K2
public final /* non-default */
Property: class.metadata.property.setterValueParameter
K1
---
K2
value: A?
CLASS AnnotationsKt.class
PACKAGE METADATA
PROPERTY getT(LC;)LA;
Property: class.metadata.property.setterValueParameter
K1
<anonymous parameter 0>: A
K2
_: A
PROPERTY getT-iUtXLc0(II)LA;
Property: class.metadata.property.setterValueParameter
K1
<anonymous parameter 0>: A
K2
_: A
@@ -2,6 +2,8 @@
// WITH_STDLIB
// FIR_IDENTICAL
// TARGET_BACKEND: JVM_IR
// JVM_ABI_K1_K2_DIFF: KT-63843, KT-62582
import kotlin.reflect.KProperty