JVM_IR KT-43812 erase generic arguments of SAM wrapper supertype
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
// WITH_SIGNATURES
|
||||
// FILE: samGenericSuperinterface.kt
|
||||
|
||||
fun <T> genericSam(f: () -> T): T = J.g(f)
|
||||
|
||||
// FILE: J.java
|
||||
public class J {
|
||||
static <T> T g(Sam<T> s) {
|
||||
return s.get();
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: Sam.java
|
||||
public interface Sam<T> {
|
||||
T get();
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
@kotlin.Metadata
|
||||
final class<null> SamGenericSuperinterfaceKt$sam$Sam$0 {
|
||||
// source: 'samGenericSuperinterface.kt'
|
||||
<null> method <init>(p0: kotlin.jvm.functions.Function0): void
|
||||
public synthetic final <null> method get(): java.lang.Object
|
||||
private synthetic final field <null> function: kotlin.jvm.functions.Function0
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public final class<null> SamGenericSuperinterfaceKt {
|
||||
// source: 'samGenericSuperinterface.kt'
|
||||
public final static <<T:Ljava/lang/Object;>(Lkotlin/jvm/functions/Function0<+TT;>;)TT;> method genericSam(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.Object
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
@kotlin.Metadata
|
||||
final class<null> SamGenericSuperinterfaceKt$sam$Sam$0 {
|
||||
// source: 'samGenericSuperinterface.kt'
|
||||
<null> method <init>(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): void
|
||||
public synthetic final <null> method get(): java.lang.Object
|
||||
private synthetic final field <null> function: kotlin.jvm.functions.Function0
|
||||
final inner class SamGenericSuperinterfaceKt$sam$Sam$0
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public final class<null> SamGenericSuperinterfaceKt {
|
||||
// source: 'samGenericSuperinterface.kt'
|
||||
public final static <<T:Ljava/lang/Object;>(Lkotlin/jvm/functions/Function0<+TT;>;)TT;> method genericSam(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.Object
|
||||
final inner class SamGenericSuperinterfaceKt$sam$Sam$0
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// WITH_SIGNATURES
|
||||
// FILE: samGenericSuperinterface.kt
|
||||
|
||||
fun specializedSam(f: () -> String) = J.g(f)
|
||||
|
||||
// FILE: J.java
|
||||
public class J {
|
||||
static <T> T g(Sam<T> s) {
|
||||
return s.get();
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: Sam.java
|
||||
public interface Sam<T> {
|
||||
T get();
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
@kotlin.Metadata
|
||||
final class<null> SamGenericSuperinterfaceKt$sam$Sam$0 {
|
||||
// source: 'samGenericSuperinterface.kt'
|
||||
<null> method <init>(p0: kotlin.jvm.functions.Function0): void
|
||||
public synthetic final <null> method get(): java.lang.Object
|
||||
private synthetic final field <null> function: kotlin.jvm.functions.Function0
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public final class<null> SamGenericSuperinterfaceKt {
|
||||
// source: 'samGenericSuperinterface.kt'
|
||||
public final static <(Lkotlin/jvm/functions/Function0<Ljava/lang/String;>;)Ljava/lang/String;> method specializedSam(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.String
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
@kotlin.Metadata
|
||||
final class<null> SamGenericSuperinterfaceKt$sam$Sam$0 {
|
||||
// source: 'samGenericSuperinterface.kt'
|
||||
<null> method <init>(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): void
|
||||
public synthetic final <null> method get(): java.lang.Object
|
||||
private synthetic final field <null> function: kotlin.jvm.functions.Function0
|
||||
final inner class SamGenericSuperinterfaceKt$sam$Sam$0
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public final class<null> SamGenericSuperinterfaceKt {
|
||||
// source: 'samGenericSuperinterface.kt'
|
||||
public final static <(Lkotlin/jvm/functions/Function0<Ljava/lang/String;>;)Ljava/lang/String;> method specializedSam(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.String
|
||||
final inner class SamGenericSuperinterfaceKt$sam$Sam$0
|
||||
}
|
||||
Reference in New Issue
Block a user