Introduce experimental -Xuse-javac compilation mode

In this mode, javac AST and Symbol files are used during
Kotlin compilation instead of PSI / binary stuff.
Later, they are reused for Java file compilation.
javac in this mode is integrated into kotlinc.
This commit is contained in:
baratynskiy
2017-04-05 13:11:26 +03:00
committed by Mikhail Glukhikh
parent c9a04fe1e2
commit 5eea3b6569
217 changed files with 6537 additions and 565 deletions
@@ -0,0 +1,39 @@
package test
private fun getJavaInner(): test.JavaClass2.JavaInner!
private fun getKotlinInner(): test.KotlinClass.KotlinInner!
private fun getKotlinInner3(): test.KotlinInterface.KotlinInner2.KotlinInner3!
public/*package*/ open class JavaClass2 {
public/*package*/ constructor JavaClass2()
public/*package*/ open class JavaInner {
public/*package*/ constructor JavaInner()
}
}
private open class KotlinClass : test.KotlinInterface.KotlinInner2 {
public constructor KotlinClass()
public final inner class KotlinInner {
public constructor KotlinInner()
}
}
private interface KotlinInterface {
public open class KotlinInner2 : test.JavaClass2 {
public constructor KotlinInner2()
public final class KotlinInner3 {
public constructor KotlinInner3()
}
}
}
public open class UseKotlinInner : test.KotlinClass {
public constructor UseKotlinInner()
public/*package*/ open fun getJavaInner(): test.JavaClass2.JavaInner!
public/*package*/ open fun getKotlinInner(): test.KotlinClass.KotlinInner!
public/*package*/ open fun getKotlinInner3(): test.KotlinInterface.KotlinInner2.KotlinInner3!
}