summaryrefslogtreecommitdiff
path: root/plugins/kotlin/analysis/src/org/jetbrains/kotlin/idea/decompiler/KotlinDecompiledFileViewProvider.kt
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/kotlin/analysis/src/org/jetbrains/kotlin/idea/decompiler/KotlinDecompiledFileViewProvider.kt')
-rw-r--r--plugins/kotlin/analysis/src/org/jetbrains/kotlin/idea/decompiler/KotlinDecompiledFileViewProvider.kt42
1 files changed, 0 insertions, 42 deletions
diff --git a/plugins/kotlin/analysis/src/org/jetbrains/kotlin/idea/decompiler/KotlinDecompiledFileViewProvider.kt b/plugins/kotlin/analysis/src/org/jetbrains/kotlin/idea/decompiler/KotlinDecompiledFileViewProvider.kt
deleted file mode 100644
index 4401b56ca4be..000000000000
--- a/plugins/kotlin/analysis/src/org/jetbrains/kotlin/idea/decompiler/KotlinDecompiledFileViewProvider.kt
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
-
-package org.jetbrains.kotlin.idea.decompiler
-
-import com.intellij.openapi.fileTypes.FileType
-import com.intellij.openapi.project.Project
-import com.intellij.openapi.vfs.VirtualFile
-import com.intellij.psi.PsiFile
-import com.intellij.psi.PsiInvalidElementAccessException
-import com.intellij.psi.PsiManager
-import com.intellij.psi.SingleRootFileViewProvider
-import com.intellij.psi.impl.DebugUtil
-import com.intellij.psi.impl.source.PsiFileImpl
-import org.jetbrains.kotlin.idea.KotlinFileType
-import org.jetbrains.kotlin.idea.KotlinLanguage
-import org.jetbrains.kotlin.utils.concurrent.block.LockedClearableLazyValue
-
-class KotlinDecompiledFileViewProvider(
- manager: PsiManager,
- file: VirtualFile,
- physical: Boolean,
- private val factory: (KotlinDecompiledFileViewProvider) -> KtDecompiledFile?
-) : SingleRootFileViewProvider(manager, file, physical, KotlinLanguage.INSTANCE) {
- val content: LockedClearableLazyValue<String> = LockedClearableLazyValue(Any()) {
- val psiFile = createFile(manager.project, file, KotlinFileType.INSTANCE)
- val text = psiFile?.text ?: ""
-
- DebugUtil.performPsiModification<PsiInvalidElementAccessException>("Invalidating throw-away copy of file that was used for getting text") {
- (psiFile as? PsiFileImpl)?.markInvalidated()
- }
-
- text
- }
-
- override fun createFile(project: Project, file: VirtualFile, fileType: FileType): PsiFile? {
- return factory(this)
- }
-
- override fun createCopy(copy: VirtualFile) = KotlinDecompiledFileViewProvider(manager, copy, false, factory)
-
- override fun getContents() = content.get()
-} \ No newline at end of file