Enable lightweight lambdas (aka invokedynamic) since 2.0

#KT-45375 Fixed
 #KT-58173 Open
This commit is contained in:
Alexander Udalov
2023-04-20 11:07:41 +02:00
committed by Space Team
parent b1b33475fa
commit 3f034e8b67
80 changed files with 4686 additions and 253 deletions
@@ -212,7 +212,7 @@ class MetadataSmokeTest {
fun testDisplayNameSample() {
class A {}
val b: (Int) -> Int = fun(x: Int) = x
val b: (Int) -> Int = @JvmSerializableLambda fun(x: Int) = x
assertEquals("Class .kotlinx/metadata/test/MetadataSmokeTest\$testDisplayNameSample\$A", displayName(A::class.java.getMetadata()))
assertEquals("Lambda <no name provided>", displayName(b::class.java.getMetadata()))
@@ -15,7 +15,7 @@ import kotlin.test.assertFailsWith
class WritersContractTest {
val classMd = WritersContractTest::class.java.getMetadata()
val l: () -> Unit = {}
val l: () -> Unit = @JvmSerializableLambda {}
val lambdaMd = l::class.java.getMetadata()
val fileFacadeMd = Class.forName("kotlinx.metadata.test.testdata.FileFacade").getMetadata()
val multiFileFacadeMd = Class.forName("kotlinx.metadata.test.testdata.MultiFileClassFacade").getMetadata()