diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/redundantUncheckedVarargs/beforeAlternativeID2.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/redundantUncheckedVarargs/beforeAlternativeID2.java new file mode 100644 index 000000000000..6a7fb8752aba --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/redundantUncheckedVarargs/beforeAlternativeID2.java @@ -0,0 +1,10 @@ +// "Remove 'boxing' suppression" "false" +import java.util.ArrayList; + +class Test { + @SuppressWarnings( {"boxing"}) + void doSomething() { + final Integer number = 1; + System.out.println(number); + } +} \ No newline at end of file diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/LocalInspectionsPass.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/LocalInspectionsPass.java index 7a5fbea1a9e7..8488b22dea0d 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/LocalInspectionsPass.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/LocalInspectionsPass.java @@ -520,7 +520,7 @@ public class LocalInspectionsPass extends ProgressableTextEditorHighlightingPass @NotNull PsiElement element, boolean ignoreSuppressed) { LocalInspectionTool tool = toolWrapper.getTool(); if (ignoreSuppressed && SuppressionUtil.inspectionResultSuppressed(element, tool)) { - mySuppressedElements.computeIfAbsent(toolWrapper.getID(), shortName -> new HashSet<>()).add(element); + registerSuppressedElements(toolWrapper, element); return; } HighlightInfoType level = ProblemDescriptorUtil.highlightTypeFromDescriptor(descriptor, severity, mySeverityRegistrar); @@ -569,6 +569,15 @@ public class LocalInspectionsPass extends ProgressableTextEditorHighlightingPass injectToHost(outInfos, ilManager, file, documentRange, toolWrapper, element, fixes, info); } + private void registerSuppressedElements(@NotNull LocalInspectionToolWrapper toolWrapper, + @NotNull PsiElement element) { + mySuppressedElements.computeIfAbsent(toolWrapper.getID(), shortName -> new HashSet<>()).add(element); + String alternativeID = toolWrapper.getAlternativeID(); + if (alternativeID != null) { + mySuppressedElements.computeIfAbsent(alternativeID, shortName -> new HashSet<>()).add(element); + } + } + private static void injectToHost(@NotNull List outInfos, @NotNull InjectedLanguageManager ilManager, @NotNull PsiFile file, @@ -754,7 +763,7 @@ public class LocalInspectionsPass extends ProgressableTextEditorHighlightingPass @Override public void registerProblem(@NotNull ProblemDescriptor descriptor) { if (host != null && myIgnoreSuppressed && SuppressionUtil.inspectionResultSuppressed(host, tool)) { - mySuppressedElements.computeIfAbsent(wrapper.getID(), shortName -> new HashSet<>()).add(host); + registerSuppressedElements(wrapper, host); return; } super.registerProblem(descriptor);