Decompiler, refactor: reduce the number of classes needed to define a decompiler

This commit is contained in:
Pavel V. Talanov
2015-12-03 16:20:11 +03:00
parent dc34d4fc31
commit 9a2442bba6
11 changed files with 137 additions and 241 deletions
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.diagnostics.Severity
import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages
import org.jetbrains.kotlin.idea.caches.resolve.LibraryModificationTracker
import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult
import org.jetbrains.kotlin.idea.decompiler.classFile.KotlinClassFileViewProvider
import org.jetbrains.kotlin.idea.decompiler.KotlinDecompiledFileViewProvider
import org.jetbrains.kotlin.idea.decompiler.classFile.KtClsFile
import org.jetbrains.kotlin.idea.references.BuiltInsReferenceResolver
import org.jetbrains.kotlin.psi.KtFile
@@ -87,10 +87,10 @@ public fun closeAndDeleteProject(): Unit =
public fun unInvalidateBuiltinsAndStdLib(project: Project, runnable: RunnableWithException) {
val builtInsSources = BuiltInsReferenceResolver.getInstance(project).builtInsSources!!
val stdLibViewProviders = HashSet<KotlinClassFileViewProvider>()
val stdLibViewProviders = HashSet<KotlinDecompiledFileViewProvider>()
val vFileToViewProviderMap = ((PsiManager.getInstance(project) as PsiManagerEx).fileManager as FileManagerImpl).vFileToViewProviderMap
for ((file, viewProvider) in vFileToViewProviderMap) {
if (file.isStdLibFile && viewProvider is KotlinClassFileViewProvider) {
if (file.isStdLibFile && viewProvider is KotlinDecompiledFileViewProvider) {
stdLibViewProviders.add(viewProvider)
}
}