mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
if invoked explicitly, groovy optimize imports should work outside source folders (IDEA-57333)
This commit is contained in:
+6
-1
@@ -31,7 +31,9 @@ import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.progress.ProgressIndicator;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiDocumentManager;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.util.Processor;
|
||||
@@ -65,7 +67,10 @@ public class GroovyUnusedImportPass extends TextEditorHighlightingPass {
|
||||
GroovyImportsTracker importsTracker = GroovyImportsTracker.getInstance(myFile.getProject());
|
||||
myUnusedImports = importsTracker.getUnusedImportStatements(myFile);
|
||||
if (!myUnusedImports.isEmpty() && CodeInsightSettings.getInstance().OPTIMIZE_IMPORTS_ON_THE_FLY) {
|
||||
myOptimizeRunnable = new GroovyImportOptimizer().processFile(myFile);
|
||||
final VirtualFile vfile = myFile.getVirtualFile();
|
||||
if (vfile != null && ProjectRootManager.getInstance(myFile.getProject()).getFileIndex().isInSource(vfile)) {
|
||||
myOptimizeRunnable = new GroovyImportOptimizer().processFile(myFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-11
@@ -16,9 +16,7 @@
|
||||
package org.jetbrains.plugins.groovy.lang.editor;
|
||||
|
||||
import com.intellij.lang.ImportOptimizer;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettings;
|
||||
@@ -42,7 +40,6 @@ import java.util.*;
|
||||
* @author ven
|
||||
*/
|
||||
public class GroovyImportOptimizer implements ImportOptimizer {
|
||||
private static final Logger LOG = Logger.getInstance("org.jetbrains.plugins.groovy.lang.editor.GroovyImportOptimizer");
|
||||
private static final Comparator<GrImportStatement> IMPORT_STATEMENT_COMPARATOR = new Comparator<GrImportStatement>() {
|
||||
public int compare(GrImportStatement statement1, GrImportStatement statement2) {
|
||||
final GrCodeReferenceElement ref1 = statement1.getImportReference();
|
||||
@@ -60,10 +57,6 @@ public class GroovyImportOptimizer implements ImportOptimizer {
|
||||
return new MyProcessor((GroovyFile)file, false);
|
||||
}
|
||||
|
||||
public void removeUnusedImports(GroovyFile file) {
|
||||
new MyProcessor(file, true).run();
|
||||
}
|
||||
|
||||
public List<GrImportStatement> findUnusedImports(GroovyFile file, Set<GrImportStatement> usedImports) {
|
||||
return new MyProcessor(file, true).findUnusedImports(new HashSet<String>(), new HashSet<String>(),usedImports, new HashSet<String>());
|
||||
}
|
||||
@@ -82,10 +75,6 @@ public class GroovyImportOptimizer implements ImportOptimizer {
|
||||
}
|
||||
|
||||
public void run() {
|
||||
if (!ProjectRootManager.getInstance(myFile.getProject()).getFileIndex().isInSource(myFile.getVirtualFile())) {
|
||||
return;
|
||||
}
|
||||
|
||||
final Set<String> importedClasses = new LinkedHashSet<String>();
|
||||
final Set<String> staticallyImportedMembers = new LinkedHashSet<String>();
|
||||
final Set<GrImportStatement> usedImports = new HashSet<GrImportStatement>();
|
||||
|
||||
Reference in New Issue
Block a user