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:
Alexander Udalov
2014-05-07 18:35:45 +04:00
parent c1cd8bf069
commit c7a7f31e82
124 changed files with 619 additions and 847 deletions
@@ -0,0 +1,27 @@
// FILE: a.kt
package other
fun foo() {}
class A {
fun bar() = 42
}
fun A.baz(<!UNUSED_PARAMETER!>x<!>: String) {}
// FILE: b.kt
import other.foo as foofoo
import other.A as AA
import other.baz as bazbaz
fun main() {
val x = ::foofoo
val y = AA::bar
val z = AA::bazbaz
x : KFunction0<Unit>
y : KMemberFunction0<AA, Int>
z : KExtensionFunction1<AA, String, Unit>
}