JVM_IR make $deserializeLambda$ method synthetic

This commit is contained in:
Dmitry Petrov
2021-10-21 13:29:21 +03:00
committed by teamcityserver
parent 1dbbe22c8c
commit 6e9cbf52b1
6 changed files with 40 additions and 0 deletions
@@ -0,0 +1,17 @@
// IGNORE_BACKEND: JVM
// FILE: deserializeLambdaMethod.kt
fun plusK(s: String) = s + "K"
// Creating a serializable lambda causes '$deserializeLambda$' method to be generated in the corresponding class.
// Given equivalent code, javac generates
// private static synthetic $deserializeLambda$(Ljava/lang/invoke/SerializedLambda;)Ljava/lang/Object;
val test = Sam(::plusK)
// FILE: Sam.java
import java.io.*;
public interface Sam extends Serializable {
String get(String s);
}