JVM_IR Do not generate generic signatures for lifted lambda methods

This commit is contained in:
Dmitry Petrov
2021-03-10 09:45:34 +03:00
committed by TeamCityServer
parent 00a335129b
commit 737fbe271f
14 changed files with 129 additions and 27 deletions
@@ -0,0 +1,18 @@
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: JVM
// JVM_TARGET: 1.8
// SAM_CONVERSIONS: INDY
// CHECK_BYTECODE_LISTING
// WITH_SIGNATURES
fun interface FunIFace<T0, R> {
fun call(arg: T0): R
}
fun <T1, R> call(value: T1, f: FunIFace<T1, R>): R {
return f.call(value)
}
fun <T2> test(x: T2) = call(x) { it }
fun box() = test("OK")
@@ -0,0 +1,14 @@
@kotlin.Metadata
public interface<<T0:Ljava/lang/Object;R:Ljava/lang/Object;>Ljava/lang/Object;> FunIFace {
// source: 'genericLambdaSignature.kt'
public abstract <(TT0;)TR;> method call(p0: java.lang.Object): java.lang.Object
}
@kotlin.Metadata
public final class<null> GenericLambdaSignatureKt {
// source: 'genericLambdaSignature.kt'
public final static <<T1:Ljava/lang/Object;R:Ljava/lang/Object;>(TT1;LFunIFace<TT1;TR;>;)TR;> method call(p0: java.lang.Object, @org.jetbrains.annotations.NotNull p1: FunIFace): java.lang.Object
public final static <<T2:Ljava/lang/Object;>(TT2;)TT2;> method test(p0: java.lang.Object): java.lang.Object
public final static @org.jetbrains.annotations.NotNull <null> method box(): java.lang.String
private final static <null> method test$lambda-0(p0: java.lang.Object): java.lang.Object
}