KT-33052: Fix KAPT stub generation for enums on JDK11

When using JDK11, generating stubs for enums is broken.
This commit handles the faulty generation by JDK11 by
fully printing enums in custom implementation of tree
printing.

Test: added JDK11 tests for KAPT stub  generation
This commit is contained in:
Ivan Gavrilovic
2019-08-29 16:59:42 +02:00
committed by Yan Zhulanow
parent 58efa34a33
commit 0cdfe89a26
6 changed files with 45 additions and 8 deletions
@@ -24,6 +24,16 @@ import com.sun.tools.javac.util.List as JavacList
import org.jetbrains.kotlin.kapt3.base.plus
fun isJava9OrLater(): Boolean = !System.getProperty("java.version").startsWith("1.")
fun isJava11OrLater(): Boolean {
val majorVersion = System.getProperty("java.version").substringBefore(".", "")
if (majorVersion.isEmpty()) return false
return try {
majorVersion.toInt() >= 11
} catch (ignored: Throwable) {
false
}
}
fun Options.putJavacOption(jdk8Name: String, jdk9Name: String, value: String) {
val option = if (isJava9OrLater()) {