diff options
author | rnveach <rveach02@gmail.com> | 2017-12-15 10:36:35 -0500 |
---|---|---|
committer | Roman Ivanov <romani@users.noreply.github.com> | 2017-12-15 10:27:03 -0800 |
commit | e702daf7bff9409a96a9df6bd7eb9405feb62549 (patch) | |
tree | 8fdd00634ab7bbac2ee38cd50e140c2d8daeab3f | |
parent | 62d4be222ed3e5424f833c90a7f480fc12bbeab4 (diff) | |
download | checkstyle-e702daf7bff9409a96a9df6bd7eb9405feb62549.tar.gz |
Pull #5361: fixed RequireThisCheck and enum constants handling
3 files changed, 25 insertions, 0 deletions
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/RequireThisCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/RequireThisCheck.java index cc2bed11a..fe671bb88 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/RequireThisCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/RequireThisCheck.java @@ -367,6 +367,10 @@ public class RequireThisCheck extends AbstractCheck { final DetailAST ctorFrameNameIdent = ast.findFirstToken(TokenTypes.IDENT); frameStack.addFirst(new ConstructorFrame(frame, ctorFrameNameIdent)); break; + case TokenTypes.ENUM_CONSTANT_DEF : + final DetailAST ident = ast.findFirstToken(TokenTypes.IDENT); + ((ClassFrame) frame).addStaticMember(ident); + break; case TokenTypes.LITERAL_CATCH: final AbstractFrame catchFrame = new CatchFrame(frame, ast); catchFrame.addIdent(ast.findFirstToken(TokenTypes.PARAMETER_DEF).findFirstToken( diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/coding/RequireThisCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/coding/RequireThisCheckTest.java index c2289d0e9..38ca35151 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/coding/RequireThisCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/coding/RequireThisCheckTest.java @@ -308,6 +308,14 @@ public class RequireThisCheckTest extends AbstractModuleTestSupport { } @Test + public void testEnumConstant() throws Exception { + final DefaultConfiguration checkConfig = createModuleConfig(RequireThisCheck.class); + checkConfig.addAttribute("validateOnlyOverlapping", "false"); + final String[] expected = CommonUtils.EMPTY_STRING_ARRAY; + verify(checkConfig, getPath("InputRequireThisEnumConstant.java"), expected); + } + + @Test public void test() throws Exception { final DefaultConfiguration checkConfig = createModuleConfig(RequireThisCheck.class); final String[] expected = CommonUtils.EMPTY_STRING_ARRAY; diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/requirethis/InputRequireThisEnumConstant.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/requirethis/InputRequireThisEnumConstant.java new file mode 100644 index 000000000..4cfc3b3de --- /dev/null +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/coding/requirethis/InputRequireThisEnumConstant.java @@ -0,0 +1,13 @@ +package com.puppycrawl.tools.checkstyle.checks.coding.requirethis; + +public class InputRequireThisEnumConstant { + private final String TEST = ""; + + public enum TestEnum { + TEST; + + public TestEnum method() { + return TEST; + } + } +} |