From 7b74f65b1048400bd37b2e897811e1591929da0a Mon Sep 17 00:00:00 2001 From: Michal Kordas Date: Sun, 7 Jun 2015 20:49:45 +0200 Subject: [PATCH] Do not generate violation for empty SuppressWarnings. #1187 --- pom.xml | 2 +- .../checkstyle/checks/SuppressWarningsHolder.java | 11 +++++++++-- .../tools/checkstyle/InputSuppressWarningsHolder.java | 6 ++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 8bdd8be6b..1a83fe991 100644 --- a/pom.xml +++ b/pom.xml @@ -685,7 +685,7 @@ .*.checks.DescendantTokenCheck9196 .*.checks.NewlineAtEndOfFileCheck8388 .*.checks.OuterTypeFilenameCheck7192 - .*.checks.SuppressWarningsHolder7090 + .*.checks.SuppressWarningsHolder7593 .*.checks.TodoCommentCheck10092 .*.checks.TrailingCommentCheck9093 .*.checks.TranslationCheck8183 diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/SuppressWarningsHolder.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/SuppressWarningsHolder.java index d627c4a26..1f2d3572a 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/SuppressWarningsHolder.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/SuppressWarningsHolder.java @@ -263,8 +263,7 @@ public class SuppressWarningsHolder } } } - if (values == null) { - log(ast, "suppress.warnings.missing.value"); + if (isAnnotationEmpty(values)) { return; } @@ -306,6 +305,14 @@ public class SuppressWarningsHolder } } + /** + * @param values list of values in the annotation + * @return whether annotation is empty or contains some values + */ + private boolean isAnnotationEmpty(List values) { + return values == null; + } + /** * get target of annotation * @param ast the AST node to get the child of diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/InputSuppressWarningsHolder.java b/src/test/resources/com/puppycrawl/tools/checkstyle/InputSuppressWarningsHolder.java index 95e134a05..b3cb13f67 100644 --- a/src/test/resources/com/puppycrawl/tools/checkstyle/InputSuppressWarningsHolder.java +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/InputSuppressWarningsHolder.java @@ -28,3 +28,9 @@ public class InputSuppressWarningsHolder { @SuppressWarnings({"unused", true ? "unused" : ""}) int l; } + +class CustomSuppressWarnings { + @SuppressWarnings + private @interface SuppressWarnings { + } +}