inspection toolwindow: problem node can be amnestied and its siblings will be not...
authorDmitry Batkovich <dmitry.batkovich@jetbrains.com>
Tue, 7 Jun 2016 12:28:38 +0000 (15:28 +0300)
committerDmitry Batkovich <dmitry.batkovich@jetbrains.com>
Tue, 7 Jun 2016 12:31:43 +0000 (15:31 +0300)
platform/lang-impl/src/com/intellij/codeInspection/ui/DefaultInspectionToolPresentation.java
platform/lang-impl/src/com/intellij/codeInspection/ui/InspectionToolPresentation.java
platform/lang-impl/src/com/intellij/codeInspection/ui/ProblemDescriptionNode.java

index 438a877261cd274199fb432fd1c4b6590d387ffe..e33d42acf9c0721306ad54ddaf74b7c16d8b3895 100644 (file)
@@ -360,6 +360,12 @@ public class DefaultInspectionToolPresentation implements ProblemDescriptionsPro
     getIgnoredElements().remove(refEntity);
   }
 
+  @Override
+  public void amnesty(RefEntity refEntity, CommonProblemDescriptor descriptor) {
+    final CommonProblemDescriptor[] ignoredDescriptors = getIgnoredElements().get(refEntity);
+    getIgnoredElements().put(refEntity, ArrayUtil.remove(ignoredDescriptors, descriptor));
+  }
+
   @Override
   public void ignoreProblem(RefEntity refEntity, CommonProblemDescriptor problem, int idx) {
     if (refEntity == null) return;
index 28eedbd80178586919c561f1726e216505ea9978..4c5244ac361c3659fb7beb4d28fb021515cea2e8 100644 (file)
@@ -57,6 +57,7 @@ public interface InspectionToolPresentation extends ProblemDescriptionsProcessor
 
   void ignoreCurrentElement(RefEntity refEntity);
   void amnesty(RefEntity refEntity);
+  void amnesty(RefEntity refEntity, CommonProblemDescriptor descriptor);
   void cleanup();
   void finalCleanup();
   boolean isGraphNeeded();
index 0b6206143ebf3f2dc9562e6278820aa7d2f45228..b1424337e145149d4880257f88bcf13efd66229a 100644 (file)
@@ -132,9 +132,9 @@ public class ProblemDescriptionNode extends SuppressableInspectionTreeNode {
 
   @Override
   public void amnestyElement(ExcludedInspectionTreeNodesManager manager) {
-    if (!isAlreadySuppressedFromView() && !isQuickFixAppliedFromView()) {
+    if (!isAlreadySuppressedFromView()) {
       InspectionToolPresentation presentation = getPresentation();
-      presentation.amnesty(getElement());
+      presentation.amnesty(getElement(), getDescriptor());
     }
     super.amnestyElement(manager);
   }