From 44a845eca9b3ab482ec150494c674b2e99171608 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Fri, 1 Jun 2018 01:34:14 +0300 Subject: [PATCH] Avoid using bound class reference Bound references require kotlin-reflect 1.1.x on runtime. However old Gradle versions (e.g. 3.4) can leak 1.0.x reflect into Gradle classloader, so getting bound reference fails on runtime (in this case the plugin couldn't connect to the daemon). --- .../kotlin/compilerRunner/GradleKotlinCompilerRunner.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt index 3d5288b52d0..028fa483bee 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt @@ -339,7 +339,7 @@ internal class GradleCompilerRunner(private val project: Project) : KotlinCompil private fun logFinish(strategy: String) = log.logFinish(strategy) override fun getDaemonConnection(environment: GradleCompilerEnvironment): CompileServiceSession? { - synchronized(this::javaClass) { + synchronized(this.javaClass) { val compilerId = CompilerId.makeCompilerId(environment.compilerFullClasspath) val clientIsAliveFlagFile = getOrCreateClientFlagFile(project) val sessionIsAliveFlagFile = getOrCreateSessionFlagFile(project)