Fix generic signature for KFunctionN types on JVM
#KT-15473 Fixed
This commit is contained in:
+10
@@ -0,0 +1,10 @@
|
||||
package test;
|
||||
|
||||
import kotlin.reflect.KFunction;
|
||||
|
||||
class Bar extends Foo {
|
||||
@Override
|
||||
public KFunction<Request> request() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
// KT-15473 Invalid KFunction byte code signature for callable references
|
||||
|
||||
package test
|
||||
|
||||
class Request(val id: Long)
|
||||
|
||||
open class Foo {
|
||||
open fun request() = ::Request
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package test
|
||||
|
||||
public/*package*/ open class Bar : test.Foo {
|
||||
public/*package*/ constructor Bar()
|
||||
public open fun request(): kotlin.reflect.KFunction<test.Request!>
|
||||
}
|
||||
|
||||
public open class Foo {
|
||||
public constructor Foo()
|
||||
public open fun request(): kotlin.reflect.KFunction1<@kotlin.ParameterName(name = "id") kotlin.Long, test.Request>
|
||||
}
|
||||
|
||||
public final class Request {
|
||||
public constructor Request(/*0*/ kotlin.Long)
|
||||
public final val id: kotlin.Long
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
// KT-15473 Invalid KFunction byte code signature for callable references
|
||||
|
||||
class Request(val id: Long)
|
||||
|
||||
open class Foo {
|
||||
open fun request() = ::Request
|
||||
}
|
||||
|
||||
// method: Foo::request
|
||||
// jvm signature: ()Lkotlin/reflect/KFunction;
|
||||
// generic signature: ()Lkotlin/reflect/KFunction<LRequest;>;
|
||||
+1
-1
@@ -10,6 +10,6 @@ fun box(): String {
|
||||
return test(Foo()::test)
|
||||
}
|
||||
|
||||
// method: CallableFunctionKt$box$1::invoke
|
||||
// method: FunctionReferenceInvokeKt$box$1::invoke
|
||||
// jvm signature: ()Ljava/lang/String;
|
||||
// generic signature: null
|
||||
+1
-1
@@ -8,6 +8,6 @@ fun box(): String {
|
||||
return test(Foo("OK")::a)
|
||||
}
|
||||
|
||||
// method: CallablePropertyKt$box$1::get
|
||||
// method: PropertyReferenceGetKt$box$1::get
|
||||
// jvm signature: ()Ljava/lang/Object;
|
||||
// generic signature: null
|
||||
Reference in New Issue
Block a user