From 750a677366425f0ee736206b278f173806427fda Mon Sep 17 00:00:00 2001 From: Vladimir Dolzhenko Date: Wed, 25 Sep 2019 12:30:58 +0200 Subject: [PATCH] Register manually IDEKotlinBinaryClassCache for AbstractLoadJavaClsStubTest.kt --- .../cli/jvm/compiler/KotlinCoreEnvironment.kt | 2 +- .../cli/jvm/compiler/KotlinCoreEnvironment.kt.193 | 2 +- .../kotlin/idea/caches/IDEKotlinBinaryClassCache.kt | 13 ------------- .../stubBuilder/AbstractLoadJavaClsStubTest.kt | 7 +++++++ 4 files changed, 9 insertions(+), 15 deletions(-) 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 f74dd8e6a5f..85b09e20865 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 @@ -123,7 +123,7 @@ import java.util.zip.ZipFile import javax.xml.stream.XMLInputFactory class KotlinCoreEnvironment private constructor( - private val projectEnvironment: JavaCoreProjectEnvironment, + val projectEnvironment: JavaCoreProjectEnvironment, initialConfiguration: CompilerConfiguration, configFiles: EnvironmentConfigFiles ) { diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt.193 b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt.193 index fbad9bcf37d..010f59ab76e 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt.193 +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt.193 @@ -123,7 +123,7 @@ import java.util.zip.ZipFile import javax.xml.stream.XMLInputFactory class KotlinCoreEnvironment private constructor( - private val projectEnvironment: JavaCoreProjectEnvironment, + val projectEnvironment: JavaCoreProjectEnvironment, initialConfiguration: CompilerConfiguration, configFiles: EnvironmentConfigFiles ) { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/IDEKotlinBinaryClassCache.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/IDEKotlinBinaryClassCache.kt index 9b3a21dc4f9..f43eed67637 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/IDEKotlinBinaryClassCache.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/IDEKotlinBinaryClassCache.kt @@ -136,18 +136,5 @@ class IDEKotlinBinaryClassCache { companion object { fun getInstance(): IDEKotlinBinaryClassCache = service() -// @JvmStatic @Volatile -// private var instance: IDEKotlinBinaryClassCache? = null -// -// fun getInstance(): IDEKotlinBinaryClassCache { -// if (instance == null) { -// synchronized(IDEKotlinBinaryClassCache::class.java) { -// if (instance == null) { -// instance = IDEKotlinBinaryClassCache() -// } -// } -// } -// return instance!! -// } } } diff --git a/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/AbstractLoadJavaClsStubTest.kt b/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/AbstractLoadJavaClsStubTest.kt index 20b3b922156..25d5435ff2c 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/AbstractLoadJavaClsStubTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/decompiler/stubBuilder/AbstractLoadJavaClsStubTest.kt @@ -9,10 +9,12 @@ import com.intellij.openapi.vfs.VirtualFile import com.intellij.psi.PsiManager import com.intellij.testFramework.BinaryLightVirtualFile import com.intellij.testFramework.LightVirtualFile +import com.intellij.testFramework.registerServiceInstance import com.intellij.util.indexing.FileContentImpl import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.config.JVMConfigurationKeys +import org.jetbrains.kotlin.idea.caches.IDEKotlinBinaryClassCache import org.jetbrains.kotlin.idea.decompiler.KotlinDecompiledFileViewProvider import org.jetbrains.kotlin.idea.decompiler.classFile.KotlinClsStubBuilder import org.jetbrains.kotlin.idea.decompiler.classFile.KtClsFile @@ -41,6 +43,11 @@ abstract class AbstractLoadJavaClsStubTest : TestCaseWithTmpdir() { configuration.put(JVMConfigurationKeys.USE_TYPE_TABLE, true) } val environment = KotlinCoreEnvironment.createForTests(testRootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES) + environment.projectEnvironment.environment.application.registerService( + IDEKotlinBinaryClassCache::class.java, + IDEKotlinBinaryClassCache() + ) + LoadDescriptorUtil.compileKotlinToDirAndGetModule(listOf(ktFile), tmpdir, environment) val classFiles = tmpdir.walk().filter { it.extension == "class" }.toList()