summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerImpl.java')
-rw-r--r--platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerImpl.java33
1 files changed, 30 insertions, 3 deletions
diff --git a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerImpl.java b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerImpl.java
index 46842af23c34..ca0a51112f98 100644
--- a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerImpl.java
+++ b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerImpl.java
@@ -20,12 +20,13 @@ import com.intellij.codeInsight.daemon.HighlightDisplayKey;
import com.intellij.codeInsight.intention.IntentionAction;
import com.intellij.codeInsight.intention.IntentionActionBean;
import com.intellij.codeInsight.intention.IntentionManager;
+import com.intellij.codeInspection.GlobalInspectionTool;
+import com.intellij.codeInspection.GlobalSimpleInspectionTool;
import com.intellij.codeInspection.LocalQuickFix;
import com.intellij.codeInspection.ProblemDescriptor;
+import com.intellij.codeInspection.actions.CleanupInspectionIntention;
import com.intellij.codeInspection.actions.RunInspectionIntention;
-import com.intellij.codeInspection.ex.DisableInspectionToolAction;
-import com.intellij.codeInspection.ex.EditInspectionToolsSettingsAction;
-import com.intellij.codeInspection.ex.EditInspectionToolsSettingsInSuppressedPlaceIntention;
+import com.intellij.codeInspection.ex.*;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.extensions.ExtensionPoint;
@@ -181,6 +182,32 @@ public class IntentionManagerImpl extends IntentionManager {
return options;
}
+ @Nullable
+ @Override
+ public IntentionAction createFixAllIntention(InspectionToolWrapper toolWrapper, IntentionAction action) {
+ if (toolWrapper instanceof LocalInspectionToolWrapper) {
+ Class aClass = action.getClass();
+ if (action instanceof QuickFixWrapper) {
+ aClass = ((QuickFixWrapper)action).getFix().getClass();
+ }
+ return new CleanupInspectionIntention(toolWrapper, aClass, action.getText());
+ }
+ else if (toolWrapper instanceof GlobalInspectionToolWrapper) {
+ GlobalInspectionTool wrappedTool = ((GlobalInspectionToolWrapper)toolWrapper).getTool();
+ if (wrappedTool instanceof GlobalSimpleInspectionTool && (action instanceof LocalQuickFix || action instanceof QuickFixWrapper)) {
+ Class aClass = action.getClass();
+ if (action instanceof QuickFixWrapper) {
+ aClass = ((QuickFixWrapper)action).getFix().getClass();
+ }
+ return new CleanupInspectionIntention(toolWrapper, aClass, action.getText());
+ }
+ }
+ else {
+ throw new AssertionError("unknown tool: " + toolWrapper);
+ }
+ return null;
+ }
+
@Override
@NotNull
public LocalQuickFix convertToFix(@NotNull final IntentionAction action) {