Introduce module 'reflection', move KFunctionN to it
Metadata for KFunction classes is now longer serialized along with built-in classes. This effectively means that it's no longer possible to find KFunction classes via dependency on built-ins. There should be a kotlin-runtime library in the specified classpath for reflection types to be resolvable. A lot of tests were moved and changed, because tests on callable references require stdlib in classpath from now on
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
fun foo(s: String) {}
|
||||
|
||||
class A {
|
||||
fun bar(): String = ""
|
||||
}
|
||||
|
||||
fun A.baz() {}
|
||||
|
||||
|
||||
fun box(): String {
|
||||
val f = "${::foo}"
|
||||
if (f != "kotlin.reflect.KFunctionImpl1<java.lang.String, kotlin.Unit>") return "Fail foo: $f"
|
||||
|
||||
val nameOfA = (A() as java.lang.Object).getClass().getName()
|
||||
|
||||
val g = "${A::bar}"
|
||||
if (g != "kotlin.reflect.KMemberFunctionImpl0<$nameOfA, java.lang.String>") return "Fail bar: $g"
|
||||
|
||||
val h = "${A::baz}"
|
||||
if (h != "kotlin.reflect.KExtensionFunctionImpl0<$nameOfA, kotlin.Unit>") return "Fail baz: $h"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user