From 9130eceb98d2c58c90e6cd6aa318017dd20cbd25 Mon Sep 17 00:00:00 2001 From: Abram Thielke Date: Mon, 14 Dec 2015 09:58:45 -0500 Subject: [PATCH] Issue #2694: Fixing AbbreviationAsWordInName incorrectly reports constants in annotations --- .../naming/AbbreviationAsWordInNameCheck.java | 7 ++++--- .../AbbreviationAsWordInNameCheckTest.java | 4 ++++ .../InputAbbreviationAsWordInTypeName.java | 16 ++++++++++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheck.java index 80e4138e7..006ed45ba 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheck.java @@ -244,17 +244,18 @@ public class AbbreviationAsWordInNameCheck extends Check { } /** - * Check that variable definition in interface definition. + * Check that variable definition in interface or @interface definition. * @param variableDefAst variable definition. * @return true if variable definition(variableDefAst) is in interface - * definition. + * or @interface definition. */ private static boolean isInterfaceDeclaration(DetailAST variableDefAst) { boolean result = false; final DetailAST astBlock = variableDefAst.getParent(); final DetailAST astParent2 = astBlock.getParent(); - if (astParent2.getType() == TokenTypes.INTERFACE_DEF) { + if (astParent2.getType() == TokenTypes.INTERFACE_DEF + || astParent2.getType() == TokenTypes.ANNOTATION_DEF) { result = true; } return result; diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheckTest.java index 2847ed726..ff0d3898f 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/naming/AbbreviationAsWordInNameCheckTest.java @@ -292,6 +292,10 @@ public class AbbreviationAsWordInNameCheckTest extends BaseCheckTestSupport { "88: " + getWarningMessage("FIleNameFormatException", expectedCapitalCount), "90: " + getWarningMessage("serialVersionUID", expectedCapitalCount), "98: " + getWarningMessage("userID", expectedCapitalCount), + "107: " + getWarningMessage("VALUE", expectedCapitalCount), + "111: " + getWarningMessage("VALUE", expectedCapitalCount), + "115: " + getWarningMessage("VALUE", expectedCapitalCount), + "119: " + getWarningMessage("VALUE", expectedCapitalCount), }; verify(checkConfig, getPath("InputAbbreviationAsWordInTypeName.java"), expected); diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/InputAbbreviationAsWordInTypeName.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/InputAbbreviationAsWordInTypeName.java index 6dd9a7e14..2e6633ca3 100644 --- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/InputAbbreviationAsWordInTypeName.java +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/naming/InputAbbreviationAsWordInTypeName.java @@ -102,3 +102,19 @@ class StateX { return this.scaleX; } } + +@interface Annotation1 { + String VALUE = "value"; // in @interface this is final/static +} + +@interface Annotation2 { + static String VALUE = "value"; // in @interface this is final/static +} + +@interface Annotation3 { + final String VALUE = "value"; // in @interface this is final/static +} + +@interface Annotation4 { + final static String VALUE = "value"; // in @interface this is final/static +}