From 8350906a1be8af8f58d4f787aa8cab13aadbb01e Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 25 Mar 2013 19:57:26 +0100 Subject: [PATCH] EA-45079 - assert: InplaceRefactoring.getSelectedInEditorElement start inspections in 'Fix all' inspections in batch mode (cherry picked from commit 546dd53aef73f0e63f4b6005c362ba63cf5ed74b) --- .../com/intellij/codeInspection/InspectionRunningUtil.java | 3 +-- .../codeInspection/actions/CleanupInspectionIntention.java | 7 +++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInspection/InspectionRunningUtil.java b/platform/lang-impl/src/com/intellij/codeInspection/InspectionRunningUtil.java index c9a887d59d5a..4e6bf947e1f6 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/InspectionRunningUtil.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/InspectionRunningUtil.java @@ -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(((LocalInspectionToolWrapper)tool).getProblemDescriptors()); } else if (tool instanceof GlobalInspectionToolWrapper) { diff --git a/platform/lang-impl/src/com/intellij/codeInspection/actions/CleanupInspectionIntention.java b/platform/lang-impl/src/com/intellij/codeInspection/actions/CleanupInspectionIntention.java index 326e9d0ccae2..9ad4b6a1d7e1 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/actions/CleanupInspectionIntention.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/actions/CleanupInspectionIntention.java @@ -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 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); + } }