From 175a8bec9d429be507a7809642b12b63513ce615 Mon Sep 17 00:00:00 2001 From: Andrey Uskov Date: Fri, 11 Sep 2020 14:36:06 +0300 Subject: [PATCH] Make KotlinCoreEnvironment.disposeApplicationEnvironment() public The method disposeApplicationEnvironment should be used in Gradle after the configuration phase. This allows not to recreate the compiler environment after each kts file compilation and improve overall performance the evaluation and configuration phases. --- .../kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt index 35aff583312..d1dddd01a88 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt @@ -486,7 +486,10 @@ class KotlinCoreEnvironment private constructor( } } - private fun disposeApplicationEnvironment() { + /** + * This method is also used in Gradle after configuration phase finished. + */ + fun disposeApplicationEnvironment() { synchronized(APPLICATION_LOCK) { val environment = ourApplicationEnvironment ?: return ourApplicationEnvironment = null