diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/ShortenReferences.kt b/idea/src/org/jetbrains/jet/plugin/codeInsight/ShortenReferences.kt index 3444d51f1b6..06ae54e4d48 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/ShortenReferences.kt +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/ShortenReferences.kt @@ -99,7 +99,7 @@ public object ShortenReferences { private fun process(elements: Iterable, elementFilter: (PsiElement) -> FilterResult) { for ((file, fileElements) in elements.groupBy { element -> element.getContainingJetFile() }) { - ImportInsertHelper.optimizeImportsIfNeeded(file) + ImportInsertHelper.optimizeImportsOnTheFly(file) // first resolve all qualified references - optimization val referenceToContext = JetFileReferencesResolver.resolve(file, fileElements, resolveShortNames = false) diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/ImportInsertHelper.java b/idea/src/org/jetbrains/jet/plugin/quickfix/ImportInsertHelper.java index 69aa05bb5ba..cc74fac27ad 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/ImportInsertHelper.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/ImportInsertHelper.java @@ -40,38 +40,23 @@ public class ImportInsertHelper { * * @param importFqn full name of the import * @param file File where directive should be added. - * @param optimize Optimize existing imports before adding new one. */ - public static void addImportDirectiveIfNeeded(@NotNull FqName importFqn, @NotNull JetFile file, boolean optimize) { - addImportDirectiveIfNeeded(new ImportPath(importFqn, false), file, optimize); - } - public static void addImportDirectiveIfNeeded(@NotNull FqName importFqn, @NotNull JetFile file) { - addImportDirectiveIfNeeded(importFqn, file, true); + ImportPath importPath = new ImportPath(importFqn, false); + + optimizeImportsOnTheFly(file); + + if (needImport(importPath, file)) { + writeImportToFile(importPath, file); + } } - public static void addImportDirectiveIfNeeded(@NotNull ImportPath importPath, @NotNull JetFile file, boolean optimize) { - if (optimize) { - optimizeImportsIfNeeded(file); - } - - if (!needImport(importPath, file)) { - return; - } - - writeImportToFile(importPath, file); - } - - public static void optimizeImportsIfNeeded(JetFile file) { + public static void optimizeImportsOnTheFly(JetFile file) { if (CodeInsightSettings.getInstance().OPTIMIZE_IMPORTS_ON_THE_FLY) { - optimizeImports(file); + new OptimizeImportsProcessor(file.getProject(), file).runWithoutProgress(); } } - public static void optimizeImports(JetFile file) { - new OptimizeImportsProcessor(file.getProject(), file).runWithoutProgress(); - } - public static void writeImportToFile(@NotNull ImportPath importPath, @NotNull JetFile file) { JetPsiFactory psiFactory = JetPsiFactory(file.getProject()); if (file instanceof JetCodeFragment) {