mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
guava type migration: simplify batch quick fix and remove wrong assertions (in case when run from inspection view; EA-98480)
This commit is contained in:
+12
-30
@@ -18,7 +18,6 @@ package com.intellij.refactoring.typeMigration.inspections;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInspection.*;
|
||||
import com.intellij.codeInspection.ui.MultipleCheckboxOptionsPanel;
|
||||
import com.intellij.openapi.command.undo.UndoUtil;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -34,7 +33,6 @@ import com.intellij.refactoring.typeMigration.TypeMigrationRules;
|
||||
import com.intellij.refactoring.typeMigration.rules.TypeConversionRule;
|
||||
import com.intellij.refactoring.typeMigration.rules.guava.*;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.hash.HashMap;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
@@ -349,34 +347,18 @@ public class GuavaInspection extends BaseJavaLocalInspectionTool {
|
||||
}
|
||||
|
||||
private void performTypeMigration(List<PsiElement> elements, List<PsiType> types) {
|
||||
PsiFile containingFile = null;
|
||||
for (PsiElement element : elements) {
|
||||
final PsiFile currentContainingFile = element.getContainingFile();
|
||||
if (containingFile == null) {
|
||||
containingFile = currentContainingFile;
|
||||
}
|
||||
else {
|
||||
LOG.assertTrue(containingFile.isEquivalentTo(currentContainingFile));
|
||||
}
|
||||
}
|
||||
LOG.assertTrue(containingFile != null);
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(containingFile)) return;
|
||||
try {
|
||||
final TypeMigrationRules rules = new TypeMigrationRules();
|
||||
rules.setBoundScope(GlobalSearchScopesCore.projectProductionScope(containingFile.getProject())
|
||||
.union(GlobalSearchScopesCore.projectTestScope(containingFile.getProject())));
|
||||
rules.addConversionRuleSettings(new GuavaConversionSettings(ignoreJavaxNullable));
|
||||
TypeMigrationProcessor.runHighlightingTypeMigration(containingFile.getProject(),
|
||||
null,
|
||||
rules,
|
||||
elements.toArray(new PsiElement[elements.size()]),
|
||||
createMigrationTypeFunction(elements, types),
|
||||
true);
|
||||
UndoUtil.markPsiFileForUndo(containingFile);
|
||||
}
|
||||
catch (IncorrectOperationException e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
if (!FileModificationService.getInstance().preparePsiElementsForWrite(elements)) return;
|
||||
final Project project = elements.get(0).getProject();
|
||||
final TypeMigrationRules rules = new TypeMigrationRules();
|
||||
rules.setBoundScope(GlobalSearchScopesCore.projectProductionScope(project)
|
||||
.union(GlobalSearchScopesCore.projectTestScope(project)));
|
||||
rules.addConversionRuleSettings(new GuavaConversionSettings(ignoreJavaxNullable));
|
||||
TypeMigrationProcessor.runHighlightingTypeMigration(project,
|
||||
null,
|
||||
rules,
|
||||
elements.toArray(new PsiElement[elements.size()]),
|
||||
createMigrationTypeFunction(elements, types),
|
||||
true);
|
||||
}
|
||||
|
||||
private Function<PsiElement, PsiType> createMigrationTypeFunction(@NotNull final List<PsiElement> elements,
|
||||
|
||||
Reference in New Issue
Block a user