Incremental compilation support for multifile classes.

This commit is contained in:
Dmitry Petrov
2015-09-23 17:10:42 +03:00
parent ea8ada4664
commit 3dfe9951ef
57 changed files with 689 additions and 75 deletions
@@ -0,0 +1,4 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
fun a() = "a"
@@ -0,0 +1,4 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
fun b() = "b"
@@ -0,0 +1,23 @@
Compiling files:
src/b.kt
End of files
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/Test.class
out/production/module/test/TestPackage.class
out/production/module/test/Test__AKt.class
out/production/module/test/Test__BKt.class
End of files
Compiling files:
src/a.kt
src/b.kt
End of files
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/Test.class
out/production/module/test/TestPackage.class
out/production/module/test/Test__AKt.class
End of files
Compiling files:
src/a.kt
End of files
@@ -0,0 +1,4 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
fun a() = "a"
@@ -0,0 +1,4 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
fun b() = "b"
@@ -0,0 +1,4 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
fun b() = "bcd"
@@ -0,0 +1,9 @@
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/Test.class
out/production/module/test/TestPackage.class
out/production/module/test/Test__BKt.class
End of files
Compiling files:
src/b.kt
End of files
@@ -0,0 +1,4 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
fun a() = "a"
@@ -0,0 +1,4 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
fun b() = "b"
@@ -0,0 +1,4 @@
@file:[JvmName("Test1") JvmMultifileClass]
package test
fun b() = "b"
@@ -0,0 +1,18 @@
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/Test.class
out/production/module/test/TestPackage.class
out/production/module/test/Test__BKt.class
End of files
Compiling files:
src/b.kt
End of files
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/Test.class
out/production/module/test/TestPackage.class
out/production/module/test/Test__AKt.class
End of files
Compiling files:
src/a.kt
End of files
@@ -0,0 +1,8 @@
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/TestPackage.class
out/production/module/test/UsageKt.class
End of files
Compiling files:
src/usage.kt
End of files
@@ -0,0 +1,7 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
inline fun f(body: () -> Unit) {
println("i'm inline function")
body()
}
@@ -0,0 +1,7 @@
@file:[JvmName("Test") JvmMultifileClass]
package other
inline fun f(body: () -> Unit) {
println("i'm other inline function")
body()
}
@@ -0,0 +1,6 @@
package test
fun main(args: Array<String>) {
f { println("to be inlined") }
other.f { println("to be inlined") }
}
@@ -0,0 +1,6 @@
package test
fun main(args: Array<String>) {
f { println("to be inlined") }
other.f { println("to be inlined") }
}
@@ -0,0 +1,8 @@
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/TestPackage.class
out/production/module/test/UsageKt.class
End of files
Compiling files:
src/usage.kt
End of files
@@ -0,0 +1,9 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
val property = ":)"
inline fun f(body: () -> Unit) {
println("i'm inline function" + property)
body()
}
@@ -0,0 +1,9 @@
@file:[JvmName("Test") JvmMultifileClass]
package other
val property = ":)"
inline fun f(body: () -> Unit) {
println("i'm inline function" + property)
body()
}
@@ -0,0 +1,6 @@
package test
fun main(args: Array<String>) {
f { println("to be inlined") }
other.f { println("to be inlined") }
}
@@ -0,0 +1,6 @@
package test
fun main(args: Array<String>) {
f { println("to be inlined") }
other.f { println("to be inlined") }
}
@@ -0,0 +1,4 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
fun a() = "a"
@@ -0,0 +1,4 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
fun b() = "b"
@@ -0,0 +1,13 @@
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/Test.class
out/production/module/test/TestPackage.class
out/production/module/test/Test__AKt.class
End of files
Compiling files:
End of files
Compiling files:
src/b.kt
End of files
@@ -0,0 +1,4 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
fun a() = "a"
@@ -0,0 +1,4 @@
@file:[JvmName("Test2") JvmMultifileClass]
package test2
fun a() = "a"
@@ -0,0 +1,4 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
fun b() = "b"
@@ -0,0 +1,23 @@
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/Test.class
out/production/module/test/TestPackage.class
out/production/module/test/Test__AKt.class
End of files
Compiling files:
src/a.kt
End of files
Compiling files:
src/b.kt
End of files
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test2/Test2.class
out/production/module/test2/Test2Package.class
out/production/module/test2/Test2__AKt.class
End of files
Compiling files:
src/a.kt
End of files
@@ -0,0 +1,4 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
fun a() = "a"
@@ -0,0 +1,4 @@
@file:[JvmName("Test") JvmMultifileClass]
package test
fun b() = "b"
@@ -0,0 +1,11 @@
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/Test.class
out/production/module/test/TestPackage.class
out/production/module/test/Test__AKt.class
End of files
Cleaning output files:
out/production/module/test/Test__BKt.class
End of files
Compiling files:
End of files