From ecee57369f24c0263ced8d6bb1dd7ca286851b3a Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Thu, 4 Oct 2018 17:13:13 +0200 Subject: [PATCH] redundant suppression: support alternative suppres id for global inspections unused declaration and former unused parameters --- .../redundantSuppress/alternativeIds/src/x/X.java | 9 +++++++++ .../codeInspection/RedundantSuppressInspection.java | 5 +++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/java/java-tests/testData/inspection/redundantSuppress/alternativeIds/src/x/X.java b/java/java-tests/testData/inspection/redundantSuppress/alternativeIds/src/x/X.java index a2b06216b0eb..aa5f31f7e637 100644 --- a/java/java-tests/testData/inspection/redundantSuppress/alternativeIds/src/x/X.java +++ b/java/java-tests/testData/inspection/redundantSuppress/alternativeIds/src/x/X.java @@ -18,4 +18,13 @@ class NoSuperCall { return new NoSuperCall(); } +} + +class UnusedParam { + public static void main(String[] args) { + foo(1); + } + + @SuppressWarnings("UnusedParameters") + static void foo(int i) {} } \ No newline at end of file diff --git a/platform/lang-impl/src/com/intellij/codeInspection/RedundantSuppressInspection.java b/platform/lang-impl/src/com/intellij/codeInspection/RedundantSuppressInspection.java index 3a68568a0f80..19594c357dd0 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/RedundantSuppressInspection.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/RedundantSuppressInspection.java @@ -118,9 +118,10 @@ public class RedundantSuppressInspection extends GlobalInspectionTool { String mergedToolName = InspectionElementsMerger.getMergedToolName(shortName); for (InspectionToolWrapper toolWrapper : toolWrappers) { String toolWrapperShortName = toolWrapper.getShortName(); + String alternativeID = toolWrapper.getTool().getAlternativeID(); if (toolWrapper instanceof LocalInspectionToolWrapper && (((LocalInspectionToolWrapper)toolWrapper).getTool().getID().equals(shortName) || - shortName.equals(((LocalInspectionToolWrapper)toolWrapper).getTool().getAlternativeID()) || + shortName.equals(alternativeID) || toolWrapperShortName.equals(mergedToolName))) { if (((LocalInspectionToolWrapper)toolWrapper).isUnfair()) { iterator.remove(); @@ -130,7 +131,7 @@ public class RedundantSuppressInspection extends GlobalInspectionTool { suppressedTools.put(toolWrapper, shortName); } } - else if (toolWrapperShortName.equals(shortName) || toolWrapperShortName.equals(mergedToolName)) { + else if (toolWrapperShortName.equals(shortName) || toolWrapperShortName.equals(mergedToolName) || shortName.equals(alternativeID)) { //ignore global unused as it won't be checked anyway if (toolWrapper instanceof LocalInspectionToolWrapper || toolWrapper instanceof GlobalInspectionToolWrapper && !((GlobalInspectionToolWrapper)toolWrapper).getTool().isGraphNeeded()) {