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
This commit is contained in:
Alexey Tsvetkov
2018-04-10 16:08:11 +03:00
parent 13ac64b84a
commit bd50ad87ba
2 changed files with 24 additions and 58 deletions
@@ -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>