Correctly dispose KotlinCoreEnvironment after use
This commit is contained in:
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.js.test
|
|||||||
|
|
||||||
import com.intellij.mock.MockVirtualFileSystem
|
import com.intellij.mock.MockVirtualFileSystem
|
||||||
import com.intellij.openapi.Disposable
|
import com.intellij.openapi.Disposable
|
||||||
|
import com.intellij.openapi.util.Disposer
|
||||||
import com.intellij.psi.PsiManager
|
import com.intellij.psi.PsiManager
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||||
@@ -183,8 +184,15 @@ class EncodeSignatureTest {
|
|||||||
""")
|
""")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("ObjectLiteralToLambda")
|
||||||
private fun assertSignature(expectedEncoding: String, codeSnippet: String, name: String = "test") {
|
private fun assertSignature(expectedEncoding: String, codeSnippet: String, name: String = "test") {
|
||||||
val environment = createEnvironment()
|
val disposable = object : Disposable {
|
||||||
|
override fun dispose() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val environment = createEnvironment(disposable)
|
||||||
|
try {
|
||||||
val project = environment.project
|
val project = environment.project
|
||||||
|
|
||||||
val fs = MockVirtualFileSystem()
|
val fs = MockVirtualFileSystem()
|
||||||
@@ -205,6 +213,10 @@ class EncodeSignatureTest {
|
|||||||
val actualEncoding = encodeSignature(testDescriptor)
|
val actualEncoding = encodeSignature(testDescriptor)
|
||||||
Assert.assertEquals(expectedEncoding, actualEncoding)
|
Assert.assertEquals(expectedEncoding, actualEncoding)
|
||||||
}
|
}
|
||||||
|
finally {
|
||||||
|
Disposer.dispose(disposable)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun findTestCallable(scope: MemberScope, name: String): CallableMemberDescriptor? {
|
private fun findTestCallable(scope: MemberScope, name: String): CallableMemberDescriptor? {
|
||||||
return scope.getContributedDescriptors().asSequence().mapNotNull { findTestCallable(it, name) }.firstOrNull()
|
return scope.getContributedDescriptors().asSequence().mapNotNull { findTestCallable(it, name) }.firstOrNull()
|
||||||
@@ -227,7 +239,7 @@ class EncodeSignatureTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun createEnvironment(): KotlinCoreEnvironment {
|
fun createEnvironment(disposable: Disposable): KotlinCoreEnvironment {
|
||||||
return KotlinCoreEnvironment.createForTests(Disposable { }, CompilerConfiguration(), EnvironmentConfigFiles.JS_CONFIG_FILES)
|
return KotlinCoreEnvironment.createForTests(disposable, CompilerConfiguration(), EnvironmentConfigFiles.JS_CONFIG_FILES)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user