From 32037fdd2eb13bdc7617661c2d1e53bd5d97eb4a Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Tue, 29 Dec 2015 16:09:10 +0300 Subject: [PATCH] Do not remove all imports if "Optimize Imports" is executed on a file outside source dirs #KT-9925 --- .../jetbrains/kotlin/idea/imports/KotlinImportOptimizer.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/idea/src/org/jetbrains/kotlin/idea/imports/KotlinImportOptimizer.kt b/idea/src/org/jetbrains/kotlin/idea/imports/KotlinImportOptimizer.kt index 9caa20e4d5d..1fb57310b34 100644 --- a/idea/src/org/jetbrains/kotlin/idea/imports/KotlinImportOptimizer.kt +++ b/idea/src/org/jetbrains/kotlin/idea/imports/KotlinImportOptimizer.kt @@ -22,7 +22,9 @@ import com.intellij.openapi.progress.ProgressIndicatorProvider import com.intellij.psi.PsiElement import com.intellij.psi.PsiFile import org.jetbrains.kotlin.descriptors.* +import org.jetbrains.kotlin.idea.caches.resolve.ModuleSourceInfo import org.jetbrains.kotlin.idea.caches.resolve.analyze +import org.jetbrains.kotlin.idea.caches.resolve.getNullableModuleInfo import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade import org.jetbrains.kotlin.idea.core.formatter.KotlinCodeStyleSettings import org.jetbrains.kotlin.idea.references.KtReference @@ -53,6 +55,8 @@ class KotlinImportOptimizer() : ImportOptimizer { private class OptimizeProcess(private val file: KtFile) { fun execute() { + if (file.getNullableModuleInfo() !is ModuleSourceInfo) return + val oldImports = file.importDirectives if (oldImports.isEmpty()) return