From ddf076a38c38a7687d97eb69ebbd878a56758ede Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 29 Oct 2019 20:31:29 +0100 Subject: [PATCH] redundant suppression: simple global tools do not start if not enabled => no need to explicit check (IDEA-225676) new inspection context doesn't contain any tools so one need to initialize context with tools explicitly to perform checks there GitOrigin-RevId: b43cbccc70651b8a43783970af11a81cfb5b6847 --- .../redundantUncheckedVarargs/afterFixAll.java | 14 ++++++++++++++ .../redundantUncheckedVarargs/beforeFixAll.java | 16 ++++++++++++++++ .../RedundantSuppressInspection.java | 1 - 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/redundantUncheckedVarargs/afterFixAll.java create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/redundantUncheckedVarargs/beforeFixAll.java diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/redundantUncheckedVarargs/afterFixAll.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/redundantUncheckedVarargs/afterFixAll.java new file mode 100644 index 000000000000..4dedd273bdd7 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/redundantUncheckedVarargs/afterFixAll.java @@ -0,0 +1,14 @@ +// "Fix all 'Redundant suppression' problems in file" "true" +import java.util.ArrayList; + +public class Test { + @SafeVarargs + static void foo(T... t){ + } + + void foo() { + foo(new ArrayList()); + foo(new ArrayList()); + } +} + diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/redundantUncheckedVarargs/beforeFixAll.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/redundantUncheckedVarargs/beforeFixAll.java new file mode 100644 index 000000000000..0a5466a15c0e --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/redundantUncheckedVarargs/beforeFixAll.java @@ -0,0 +1,16 @@ +// "Fix all 'Redundant suppression' problems in file" "true" +import java.util.ArrayList; + +public class Test { + @SafeVarargs + static void foo(T... t){ + } + + void foo() { + //noinspection unchecked + foo(new ArrayList()); + //noinspection unchecked + foo(new ArrayList()); + } +} + diff --git a/platform/lang-impl/src/com/intellij/codeInspection/RedundantSuppressInspection.java b/platform/lang-impl/src/com/intellij/codeInspection/RedundantSuppressInspection.java index 9dcc177db96f..435d2e1c6c4a 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/RedundantSuppressInspection.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/RedundantSuppressInspection.java @@ -70,7 +70,6 @@ public class RedundantSuppressInspection extends GlobalSimpleInspectionTool { @NotNull ProblemsHolder problemsHolder, @NotNull GlobalInspectionContext globalContext, @NotNull ProblemDescriptionsProcessor problemDescriptionsProcessor) { - if (!((GlobalInspectionContextBase)globalContext).isToCheckFile(file, this)) return; InspectionSuppressor extension = LanguageInspectionSuppressors.INSTANCE.forLanguage(file.getLanguage()); if (!(extension instanceof RedundantSuppressionDetector)) return; final CommonProblemDescriptor[] descriptors = checkElement(file, (RedundantSuppressionDetector)extension, manager);