Use KotlinCoreEnvironment for parsing Kotlin in IC

Creating and disposing CoreApplicationEnvironment on each call leads to
problems with parallel builds, while KotlinCoreEnvironment
avoids disposing application environment in case of parallel builds.

    #KT-23694 fixed

Original commit: bd50ad87ba
This commit is contained in:
Alexey Tsvetkov
2018-04-10 16:08:11 +03:00
parent ca18e9871a
commit 1ce361e90b
@@ -104,7 +104,7 @@ object CompilerRunnerUtil {
environment: JpsCompilerEnvironment,
files: Set<File>
): Set<String> = withCompilerClassloader(environment) { classLoader ->
val klass = Class.forName("org.jetbrains.kotlin.parsing.util.ParseFileUtilsKt", true, classLoader)
val klass = Class.forName("org.jetbrains.kotlin.incremental.parsing.ParseFileUtilsKt", true, classLoader)
val method = klass.getMethod("classesFqNames", Set::class.java)
@Suppress("UNCHECKED_CAST")
method.invoke(klass, files) as? Set<String>