Do not generate generic signature for SAM wrapper methods
#KT-23870 Fixed
This commit is contained in:
+32
@@ -0,0 +1,32 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_RUNTIME
|
||||
// FILE: J.java
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public interface J<T extends Number> {
|
||||
T foo(List<T> p0, Map<T, ? extends Set<T>> p1);
|
||||
}
|
||||
|
||||
// FILE: K.kt
|
||||
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
object O : J<Long> {
|
||||
override fun foo(p0: List<Long>, p1: Map<Long, out Set<Long>>): Long = 42L
|
||||
}
|
||||
|
||||
class A : J<Long> by O
|
||||
|
||||
fun box(): String {
|
||||
val m = A::class.java.getDeclaredMethod("foo", List::class.java, Map::class.java)
|
||||
assertEquals(
|
||||
"[interface java.util.List, interface java.util.Map]",
|
||||
m.parameterTypes.contentToString()
|
||||
)
|
||||
assertEquals(
|
||||
"[java.util.List<java.lang.Long>, java.util.Map<java.lang.Long, ? extends java.util.Set<java.lang.Long>>]",
|
||||
m.genericParameterTypes.contentToString()
|
||||
)
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user