Generate proper generic signature for closure classes

This commit is contained in:
Alexander Udalov
2013-04-22 15:51:15 +04:00
parent ace7bd9bc8
commit 56f8f021f9
7 changed files with 120 additions and 58 deletions
@@ -0,0 +1,21 @@
fun foo(s: String) {}
class A {
fun bar(): String = ""
}
fun A.baz() {}
fun box(): String {
val f = "${::foo}"
if (f != "jet.KFunctionImpl1<? super java.lang.String, ? extends jet.Unit>") return "Fail foo: $f"
val g = "${A::bar}"
if (g != "jet.KMemberFunctionImpl0<? super A, ? extends java.lang.String>") return "Fail bar: $f"
val h = "${A::baz}"
if (h != "jet.KExtensionFunctionImpl0<? super A, ? extends jet.Unit>") return "Fail baz: $h"
return "OK"
}