Serialize descriptors for local/anonymous classes on JVM

Reflection needs this information to work for local classes and anonymous
objects
This commit is contained in:
Alexander Udalov
2015-02-14 03:27:05 +03:00
parent 98b554d995
commit 6ce8d6bd2e
34 changed files with 567 additions and 127 deletions
@@ -0,0 +1,5 @@
package a
fun foo() = object {
fun bar() = ":("
}
@@ -0,0 +1,6 @@
package a
// Signatures in the class "...$main$1" have changed, thus we need to recompile the whole module
fun foo() = object {
fun baz() = ":)"
}
@@ -0,0 +1,15 @@
Cleaning output files:
out/production/module/a/APackage$a$*$foo$1.class
out/production/module/a/APackage$a$*.class
out/production/module/a/APackage.class
End of files
Compiling files:
src/a.kt
End of files
Cleaning output files:
out/production/module/usage/UsagePackage$usage$*.class
out/production/module/usage/UsagePackage.class
End of files
Compiling files:
src/usage.kt
End of files
@@ -0,0 +1,5 @@
package usage
import a.foo
fun bar() = foo()