Fix generic signature for KFunctionN types on JVM

#KT-15473 Fixed
This commit is contained in:
Alexander Udalov
2016-12-29 19:15:47 +03:00
parent bf3b5281a9
commit 0dbb02ec6a
12 changed files with 152 additions and 58 deletions
@@ -0,0 +1,10 @@
package test;
import kotlin.reflect.KFunction;
class Bar extends Foo {
@Override
public KFunction<Request> request() {
return null;
}
}
@@ -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
}
@@ -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
}