From 83496c0e59578831e5494ccaa8ef47555d9fd9f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?= Date: Sun, 31 Dec 2017 01:01:30 -0300 Subject: [PATCH] =?UTF-8?q?[java]=C2=A0Fix=20NPE=20on=20UnnecessaryModifie?= =?UTF-8?q?rRule?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fixes #817 --- .../lang/java/rule/codestyle/UnnecessaryModifierRule.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryModifierRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryModifierRule.java index 98501b7e7e..c615cbd06b 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryModifierRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryModifierRule.java @@ -150,9 +150,11 @@ public class UnnecessaryModifierRule extends AbstractJavaRule { private boolean isSafeVarargs(final ASTMethodDeclaration node) { for (final ASTAnnotation annotation : node.jjtGetParent().findChildrenOfType(ASTAnnotation.class)) { final Node childAnnotation = annotation.jjtGetChild(0); - if (childAnnotation instanceof ASTMarkerAnnotation - && SafeVarargs.class.isAssignableFrom(((ASTMarkerAnnotation) childAnnotation).getType())) { - return true; + if (childAnnotation instanceof ASTMarkerAnnotation) { + final ASTMarkerAnnotation marker = (ASTMarkerAnnotation) childAnnotation; + if (marker.getType() != null && SafeVarargs.class.isAssignableFrom(marker.getType())) { + return true; + } } }