EA-45079 - assert: InplaceRefactoring.getSelectedInEditorElement

start inspections in 'Fix all' inspections in batch mode
(cherry picked from commit 546dd53aef73f0e63f4b6005c362ba63cf5ed74b)
This commit is contained in:
anna
2013-03-26 21:43:01 +01:00
parent 4a159a8648
commit 8350906a1b
2 changed files with 8 additions and 2 deletions
@@ -18,7 +18,6 @@ package com.intellij.codeInspection;
import com.intellij.codeInspection.ex.*;
import com.intellij.codeInspection.reference.RefManagerImpl;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.Collections;
@@ -41,7 +40,7 @@ public class InspectionRunningUtil {
((RefManagerImpl)context.getRefManager()).inspectionReadActionStarted();
try {
if (tool instanceof LocalInspectionToolWrapper) {
((LocalInspectionToolWrapper)tool).processFile(file, true, managerEx, true);
((LocalInspectionToolWrapper)tool).processFile(file, true, managerEx, false);
return new ArrayList<CommonProblemDescriptor>(((LocalInspectionToolWrapper)tool).getProblemDescriptors());
}
else if (tool instanceof GlobalInspectionToolWrapper) {
@@ -16,6 +16,7 @@
package com.intellij.codeInspection.actions;
import com.intellij.CommonBundle;
import com.intellij.codeInsight.CodeInsightUtilBase;
import com.intellij.codeInsight.intention.EmptyIntentionAction;
import com.intellij.codeInsight.intention.HighPriorityAction;
@@ -30,6 +31,7 @@ import com.intellij.openapi.util.Computable;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.refactoring.util.CommonRefactoringUtil;
import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull;
@@ -77,9 +79,11 @@ public class CleanupInspectionIntention implements IntentionAction, HighPriority
return d2.getTextRange().getStartOffset() - d1.getTextRange().getStartOffset();
}
});
boolean fixesWereAvailable = false;
for (CommonProblemDescriptor descriptor : descriptions) {
final QuickFix[] fixes = descriptor.getFixes();
if (fixes != null && fixes.length > 0) {
fixesWereAvailable = true;
for (QuickFix<CommonProblemDescriptor> fix : fixes) {
if (fix != null && fix.getClass().isAssignableFrom(myQuickfixClass)) {
final PsiElement element = ((ProblemDescriptor)descriptor).getPsiElement();
@@ -92,6 +96,9 @@ public class CleanupInspectionIntention implements IntentionAction, HighPriority
}
}
}
if (!fixesWereAvailable) {
CommonRefactoringUtil.showErrorHint(project, editor, "No fixes are available in batch mode", CommonBundle.getWarningTitle(), null);
}
}