From 7b55e72583b9af78b75ed4f1d13faa13334767ae Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Fri, 15 Feb 2019 18:13:22 +0300 Subject: [PATCH] Remove dead teardown code for builtins uninvalidation in tests VirtualFile.isStdLibFile always returns false, therefore unInvalidateFile is never executed See also commit 358e64fdb --- .../sequence/KotlinPsiChainBuilderTestCase.kt | 46 ------------------- 1 file changed, 46 deletions(-) diff --git a/idea/tests/org/jetbrains/kotlin/idea/debugger/sequence/KotlinPsiChainBuilderTestCase.kt b/idea/tests/org/jetbrains/kotlin/idea/debugger/sequence/KotlinPsiChainBuilderTestCase.kt index ebeda41a16c..225ba35b072 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/debugger/sequence/KotlinPsiChainBuilderTestCase.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/debugger/sequence/KotlinPsiChainBuilderTestCase.kt @@ -8,25 +8,16 @@ import com.intellij.debugger.streams.test.StreamChainBuilderTestCase import com.intellij.debugger.streams.wrapper.StreamChain import com.intellij.debugger.streams.wrapper.StreamChainBuilder import com.intellij.openapi.application.ApplicationManager -import com.intellij.openapi.project.Project import com.intellij.openapi.projectRoots.Sdk import com.intellij.openapi.roots.impl.libraries.ProjectLibraryTable -import com.intellij.openapi.vfs.VirtualFile -import com.intellij.psi.PsiManager -import com.intellij.psi.impl.PsiManagerEx -import com.intellij.psi.impl.file.impl.FileManagerImpl -import com.intellij.psi.impl.source.PsiFileImpl import com.intellij.testFramework.LightPlatformTestCase import com.intellij.testFramework.PsiTestUtil import junit.framework.TestCase import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime import org.jetbrains.kotlin.idea.caches.project.LibraryModificationTracker -import org.jetbrains.kotlin.idea.decompiler.KotlinDecompiledFileViewProvider -import org.jetbrains.kotlin.idea.decompiler.KtDecompiledFile import org.jetbrains.kotlin.idea.test.PluginTestCaseBase import java.io.File import java.nio.file.Paths -import java.util.* abstract class KotlinPsiChainBuilderTestCase(private val relativePath: String) : StreamChainBuilderTestCase() { override fun getTestDataPath(): String = @@ -39,10 +30,6 @@ abstract class KotlinPsiChainBuilderTestCase(private val relativePath: String) : protected abstract fun doTest() - override fun tearDown() { - doKotlinTearDown(LightPlatformTestCase.getProject(), { super.tearDown() }) - } - final override fun getRelativeTestPath(): String = relativePath override fun setUp() { @@ -67,39 +54,6 @@ abstract class KotlinPsiChainBuilderTestCase(private val relativePath: String) : return PluginTestCaseBase.mockJdk9() } - private fun doKotlinTearDown(project: Project, runnable: () -> Unit) { - unInvalidateBuiltinsAndStdLib(project) { - runnable() - } - } - - private fun unInvalidateBuiltinsAndStdLib(project: Project, runnable: () -> Unit) { - val stdLibViewProviders = HashSet() - val vFileToViewProviderMap = - ((PsiManager.getInstance(project) as PsiManagerEx).fileManager as FileManagerImpl).vFileToViewProviderMap - for ((file, viewProvider) in vFileToViewProviderMap) { - if (file.isStdLibFile && viewProvider is KotlinDecompiledFileViewProvider) { - stdLibViewProviders.add(viewProvider) - } - } - - runnable() - - // Base tearDown() invalidates builtins and std-lib files. Restore them with brute force. - fun unInvalidateFile(file: PsiFileImpl) { - val field = PsiFileImpl::class.java.getDeclaredField("myInvalidated")!! - field.isAccessible = true - field.set(file, false) - } - - stdLibViewProviders.forEach { - it.allFiles.forEach { unInvalidateFile(it as KtDecompiledFile) } - vFileToViewProviderMap[it.virtualFile] = it - } - } - - private val VirtualFile.isStdLibFile: Boolean get() = presentableUrl.contains("kotlin-runtime.jar") - abstract class Positive(relativePath: String) : KotlinPsiChainBuilderTestCase(relativePath) { override fun doTest() { val chains = buildChains()