Removed some more stuff from ImportInsertHelper
This commit is contained in:
@@ -99,7 +99,7 @@ public object ShortenReferences {
|
|||||||
|
|
||||||
private fun process(elements: Iterable<JetElement>, elementFilter: (PsiElement) -> FilterResult) {
|
private fun process(elements: Iterable<JetElement>, elementFilter: (PsiElement) -> FilterResult) {
|
||||||
for ((file, fileElements) in elements.groupBy { element -> element.getContainingJetFile() }) {
|
for ((file, fileElements) in elements.groupBy { element -> element.getContainingJetFile() }) {
|
||||||
ImportInsertHelper.optimizeImportsIfNeeded(file)
|
ImportInsertHelper.optimizeImportsOnTheFly(file)
|
||||||
|
|
||||||
// first resolve all qualified references - optimization
|
// first resolve all qualified references - optimization
|
||||||
val referenceToContext = JetFileReferencesResolver.resolve(file, fileElements, resolveShortNames = false)
|
val referenceToContext = JetFileReferencesResolver.resolve(file, fileElements, resolveShortNames = false)
|
||||||
|
|||||||
@@ -40,38 +40,23 @@ public class ImportInsertHelper {
|
|||||||
*
|
*
|
||||||
* @param importFqn full name of the import
|
* @param importFqn full name of the import
|
||||||
* @param file File where directive should be added.
|
* @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) {
|
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) {
|
public static void optimizeImportsOnTheFly(JetFile file) {
|
||||||
if (optimize) {
|
|
||||||
optimizeImportsIfNeeded(file);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!needImport(importPath, file)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writeImportToFile(importPath, file);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void optimizeImportsIfNeeded(JetFile file) {
|
|
||||||
if (CodeInsightSettings.getInstance().OPTIMIZE_IMPORTS_ON_THE_FLY) {
|
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) {
|
public static void writeImportToFile(@NotNull ImportPath importPath, @NotNull JetFile file) {
|
||||||
JetPsiFactory psiFactory = JetPsiFactory(file.getProject());
|
JetPsiFactory psiFactory = JetPsiFactory(file.getProject());
|
||||||
if (file instanceof JetCodeFragment) {
|
if (file instanceof JetCodeFragment) {
|
||||||
|
|||||||
Reference in New Issue
Block a user