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,35 @@
MODULE main
CLASS MyMap.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 @@
// TARGET_BACKEND: JVM
// WITH_STDLIB
// FULL_JDK
// JVM_ABI_K1_K2_DIFF: KT-63828
class MyMap : MutableMap<Int, String> by hashMapOf()
@@ -0,0 +1,11 @@
MODULE main
CLASS Impl.class
CLASS METADATA
K1
getSize()I
K2
---
K1
---
K2
size
@@ -1,4 +1,6 @@
// TARGET_BACKEND: JVM
// JVM_ABI_K1_K2_DIFF: KT-63828
// MODULE: lib
// FILE: Foo.java
@@ -0,0 +1,22 @@
MODULE lib
CLASS D1.class
CLASS METADATA
K1
---
K2
bar
K1
getBar()I
K2
---
MODULE main
CLASS D2.class
CLASS METADATA
K1
---
K2
bar
K1
getBar()I
K2
---
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-63828
// MODULE: lib
// FILE: lib.kt
@@ -0,0 +1,35 @@
MODULE main
CLASS Test.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
@@ -2,6 +2,8 @@
// TARGET_BACKEND: JVM
// FULL_JDK
// JVM_ABI_K1_K2_DIFF: KT-63828
class MapWithBadDefaults : HashMap<String, String>() {
override fun getOrDefault(key: String, defaultValue: String): String {
throw RuntimeException("Shouldn't be executed")
@@ -0,0 +1,9 @@
MODULE main
CLASS GenericFunctionInGenericInterfaceKt$box$delegated$1.class
CLASS METADATA
FUNCTION fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
Property: class.metadata.function.typeParameters
K1
<T#0 /* R */>
K2
<T#0 /* R */ : kotlin/Any?>
@@ -1,4 +1,5 @@
// ISSUE: KT-64257
// JVM_ABI_K1_K2_DIFF: KT-63855
interface Base {
fun <R> fold(initial: R, operation: (R, String) -> R): R = operation(initial, "K")
@@ -0,0 +1,11 @@
MODULE main
CLASS A.class
CLASS METADATA
K1
getId(Ljava/lang/Object;)Ljava/lang/Object;
K2
---
K1
---
K2
id
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-63828, KT-63855, KT-63871
interface I {
val <T> T.id: T
get() = this
@@ -0,0 +1,11 @@
MODULE main
CLASS C.class
CLASS METADATA
K1
---
K2
bar
K1
getBar()Ljava/lang/String;
K2
---
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-63828
interface A {
fun foo(): String
val bar: String
@@ -0,0 +1,11 @@
MODULE main
CLASS B.class
CLASS METADATA
K1
getProperty()Ljava/lang/String;
K2
---
K1
---
K2
property
+1
View File
@@ -1,5 +1,6 @@
// TARGET_BACKEND: JVM_IR
// ISSUE: KT-54654
// JVM_ABI_K1_K2_DIFF: KT-63828, KT-63871
fun accessProperty(b: B) = b.property
fun accessFunction(b: B) = b.function()
@@ -0,0 +1,11 @@
MODULE main
CLASS A$B.class
CLASS METADATA
K1
getLength()I
K2
---
K1
---
K2
length
@@ -1,5 +1,6 @@
// TARGET_BACKEND: JVM_IR
// WITH_STDLIB
// JVM_ABI_K1_K2_DIFF: KT-63828
sealed class A : CharSequence {
data class B(val c: CharSequence) : A(), CharSequence by c
@@ -0,0 +1,9 @@
MODULE main
CLASS DeprecatedLexicalScope.class
CLASS METADATA
FUNCTION getContributedDescriptors(Ljava/lang/String;)Ljava/lang/String;
Property: class.metadata.function.valueParameters
K1
(s: kotlin/String)
K2
(s: kotlin/String /* = ... */)
@@ -1,3 +1,5 @@
// JVM_ABI_K1_K2_DIFF: KT-63879
// FILE: lib.kt
interface ResolutionScope {
fun getContributedDescriptors(s: String = "OK"): String