From 0958621ca884a8002012fc7738308c8dfc24b97c Mon Sep 17 00:00:00 2001 From: oowekyala Date: Wed, 9 Aug 2017 16:40:05 +0200 Subject: [PATCH] Fix #521 --- .../sourceforge/pmd/lang/java/ast/ASTType.java | 8 ++++---- .../unusedcode/xml/UnusedPrivateMethod.xml | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTType.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTType.java index b398ca9a73..bdd26c4f59 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTType.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTType.java @@ -23,11 +23,11 @@ public class ASTType extends AbstractJavaTypeNode { } public String getTypeImage() { - ASTPrimitiveType prim = getFirstDescendantOfType(ASTPrimitiveType.class); - if (prim != null) { - return prim.getImage(); + ASTClassOrInterfaceType refType = getFirstDescendantOfType(ASTClassOrInterfaceType.class); + if (refType != null) { + return refType.getImage(); } - return getFirstDescendantOfType(ASTClassOrInterfaceType.class).getImage(); + return getFirstDescendantOfType(ASTPrimitiveType.class).getImage(); } public int getArrayDepth() { diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/unusedcode/xml/UnusedPrivateMethod.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/unusedcode/xml/UnusedPrivateMethod.xml index 1b66422495..b5d810c04b 100644 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/unusedcode/xml/UnusedPrivateMethod.xml +++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/unusedcode/xml/UnusedPrivateMethod.xml @@ -1531,4 +1531,22 @@ public class Something { } ]]> + + + #521 UnusedPrivateMethod returns false positives with primitive data type in map argument + 0 + map = new LinkedHashMap<>(); + addToMap(map); + } + + private void addToMap(Map map) { + map.put("foo", new double[]{0., 1.}); + } + } + ]]> + +