Move handlers cache from static field to the instance of FastJarFileSystem

This commit is contained in:
Denis.Zharkov
2021-07-20 15:15:02 +03:00
committed by TeamCityServer
parent 03e5dc6117
commit c6525974d0
5 changed files with 74 additions and 68 deletions
@@ -35,6 +35,7 @@ import org.jetbrains.kotlin.cli.common.repl.ReplEvalResult
import org.jetbrains.kotlin.cli.js.K2JSCompiler
import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.cli.jvm.compiler.jarfs.FastJarFileSystem
import org.jetbrains.kotlin.cli.jvm.compiler.jarfs.FastJarHandler
import org.jetbrains.kotlin.cli.metadata.K2MetadataCompiler
import org.jetbrains.kotlin.config.Services
@@ -1202,8 +1203,8 @@ class CompileServiceImpl(
override fun clearJarCache() {
ZipHandler.clearFileAccessorCache()
FastJarHandler.cleanFileAccessorsCache()
(KotlinCoreEnvironment.applicationEnvironment?.jarFileSystem as? CoreJarFileSystem)?.clearHandlersCache()
(KotlinCoreEnvironment.applicationEnvironment?.jarFileSystem as? FastJarFileSystem)?.clearHandlersCache()
}
private inline fun <R> ifAlive(
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.cli.common.repl.ReplCompileResult
import org.jetbrains.kotlin.cli.js.K2JSCompiler
import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.cli.jvm.compiler.jarfs.FastJarHandler
import org.jetbrains.kotlin.cli.jvm.compiler.jarfs.FastJarFileSystem
import org.jetbrains.kotlin.cli.metadata.K2MetadataCompiler
import org.jetbrains.kotlin.config.Services
import org.jetbrains.kotlin.daemon.CompileServiceImplBase
@@ -669,8 +669,8 @@ class CompileServiceServerSideImpl(
override suspend fun clearJarCache() {
ZipHandler.clearFileAccessorCache()
FastJarHandler.cleanFileAccessorsCache()
(KotlinCoreEnvironment.applicationEnvironment?.jarFileSystem as? CoreJarFileSystem)?.clearHandlersCache()
(KotlinCoreEnvironment.applicationEnvironment?.jarFileSystem as? FastJarFileSystem)?.clearHandlersCache()
}
private suspend fun <R> ifAlive(