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 {
+ }
+}