Put reification markers came from super object signature
#KT-44770 Fixed #KT-30696 Open
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// NO_CHECK_LAMBDA_INLINING
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND: JVM
|
||||
// IGNORE_BACKEND: JVM, JVM_IR
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_MULTI_MODULE: JVM, JVM_IR, JVM_MULTI_MODULE_OLD_AGAINST_IR, JVM_MULTI_MODULE_IR_AGAINST_OLD
|
||||
// FILE: 1.kt
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// FULL_JDK
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND: ANDROID
|
||||
// FILE: 1.kt
|
||||
|
||||
package test
|
||||
import java.lang.reflect.*
|
||||
|
||||
class OK
|
||||
|
||||
interface S<A>
|
||||
|
||||
inline fun <reified T : Any> test(): String {
|
||||
return (object : S<T> {
|
||||
|
||||
}::class.java.genericInterfaces[0] as ParameterizedType).actualTypeArguments[0].getTypeName()
|
||||
|
||||
// FILE: 2.kt
|
||||
import test.*
|
||||
|
||||
fun box():String {
|
||||
val test = test<OK>()
|
||||
return if (test == OK::class.qualifiedName) "OK" else "fail: $test"
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// FULL_JDK
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND: ANDROID
|
||||
// FILE: 1.kt
|
||||
|
||||
package test
|
||||
import java.lang.reflect.*
|
||||
|
||||
class OK
|
||||
|
||||
interface S<A>
|
||||
|
||||
inline fun <reified T : Any> test(): String {
|
||||
return ((object : S<S<T>> {
|
||||
|
||||
}::class.java.genericInterfaces[0] as ParameterizedType).actualTypeArguments[0] as ParameterizedType).actualTypeArguments[0].getTypeName()
|
||||
|
||||
// FILE: 2.kt
|
||||
import test.*
|
||||
|
||||
fun box():String {
|
||||
val test = test<OK>()
|
||||
return if (test == OK::class.qualifiedName) "OK" else "fail: $test"
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: SAM_CONVERSIONS=CLASS
|
||||
// WITH_SIGNATURES
|
||||
// FILE: t.kt
|
||||
|
||||
inline fun <reified T> foo(s: String = "123") {}
|
||||
@@ -0,0 +1,6 @@
|
||||
@kotlin.Metadata
|
||||
public final class<null> TKt {
|
||||
// source: 't.kt'
|
||||
public synthetic final static <<T:Ljava/lang/Object;>(Ljava/lang/String;)V> method foo(p0: java.lang.String): void
|
||||
public synthetic static <null> method foo$default(p0: java.lang.String, p1: int, p2: java.lang.Object): void
|
||||
}
|
||||
+1
-1
@@ -24,7 +24,7 @@ public final class<null> test/SamAdapterAndInlinedOneKt {
|
||||
public final static @org.jetbrains.annotations.NotNull <(Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;)Ljava/lang/Runnable;> method makeRunnable2(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.Runnable
|
||||
public final static @org.jetbrains.annotations.NotNull <(Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;)Ljava/lang/Runnable;> method noInline(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.Runnable
|
||||
public final static @org.jetbrains.annotations.NotNull <(Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;)Ljava/lang/Runnable;> method noInline2(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.Runnable
|
||||
public synthetic final static <null> method makeRunnable(p0: kotlin.jvm.functions.Function0): java.lang.Runnable
|
||||
public synthetic final static <<T:Ljava/lang/Object;>(Lkotlin/jvm/functions/Function0<Lkotlin/Unit;>;)Ljava/lang/Runnable;> method makeRunnable(p0: kotlin.jvm.functions.Function0): java.lang.Runnable
|
||||
inner (anonymous) class test/SamAdapterAndInlinedOneKt$sam$i$java_lang_Runnable$0
|
||||
inner (anonymous) class test/SamAdapterAndInlinedOneKt$sam$java_lang_Runnable$0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user