From 0e68c00f4115cd6d40ffd3c1695c97e6c19bfa0f Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Thu, 23 Oct 2014 21:36:59 +0200 Subject: [PATCH] #1275 False positive: UnusedModifier rule for static inner class in enum --- .../rule/unusedcode/UnusedModifierRule.java | 5 +---- .../rule/unusedcode/xml/UnusedModifier.xml | 19 +++++++++---------- src/site/markdown/overview/changelog.md | 1 + 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unusedcode/UnusedModifierRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unusedcode/UnusedModifierRule.java index cefa5ab964..b3752aae5d 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unusedcode/UnusedModifierRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/unusedcode/UnusedModifierRule.java @@ -15,10 +15,7 @@ public class UnusedModifierRule extends AbstractJavaRule { public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { if (!node.isInterface() && node.isNested() && (node.isPublic() || node.isStatic())) { ASTClassOrInterfaceDeclaration parentClassInterface = node.getFirstParentOfType(ASTClassOrInterfaceDeclaration.class); - ASTEnumDeclaration parentEnum = node.getFirstParentOfType(ASTEnumDeclaration.class); - if (parentClassInterface != null && parentClassInterface.isInterface() - || - parentEnum != null) { + if (parentClassInterface != null && parentClassInterface.isInterface()) { addViolation(data, node, getMessage()); } } else if (node.isInterface() && node.isNested() && (node.isPublic() || node.isStatic())) { diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/unusedcode/xml/UnusedModifier.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/unusedcode/xml/UnusedModifier.xml index 77d57594da..4fbbd0a57f 100644 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/unusedcode/xml/UnusedModifier.xml +++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/unusedcode/xml/UnusedModifier.xml @@ -270,18 +270,17 @@ public enum Testing { ]]> - False negative: static class nested in enum - 1 + #1275 False positive: UnusedModifier rule for static inner class in enum + 0 diff --git a/src/site/markdown/overview/changelog.md b/src/site/markdown/overview/changelog.md index 1a24312a54..57a63d8cde 100644 --- a/src/site/markdown/overview/changelog.md +++ b/src/site/markdown/overview/changelog.md @@ -18,3 +18,4 @@ * [#1272](https://sourceforge.net/p/pmd/bugs/1272/): varargs in methods are causing IndexOutOfBoundException when trying to process files * [#1273](https://sourceforge.net/p/pmd/bugs/1273/): CheckResultSet false positive in try-with-resources nested in if * [#1274](https://sourceforge.net/p/pmd/bugs/1274/): ant integration broken with pmd-5.2.0 +* [#1275](https://sourceforge.net/p/pmd/bugs/1275/): False positive: UnusedModifier rule for static inner class in enum