From 2d57e6755a0da228d5e29213f61ac54acb2ee6cf Mon Sep 17 00:00:00 2001 From: John Armgardt Date: Fri, 12 Nov 2021 16:46:36 -0600 Subject: [PATCH] Fixed issue --- .../performance/UselessStringValueOfRule.java | 2 +- .../performance/xml/UselessStringValueOf.xml | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/performance/UselessStringValueOfRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/performance/UselessStringValueOfRule.java index 389d7b96b8..ab03d5dfca 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/performance/UselessStringValueOfRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/performance/UselessStringValueOfRule.java @@ -54,7 +54,7 @@ public class UselessStringValueOfRule extends AbstractJavaRule { && "+".equals(gp.getImage())) { boolean ok = false; if (gp.getChild(0) == parent) { - ok = !isPrimitive(gp.getChild(1)); + return super.visit(node, data); } else { for (int i = 0; !ok && gp.getChild(i) != parent; i++) { ok = !isPrimitive(gp.getChild(i)); diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/performance/xml/UselessStringValueOf.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/performance/xml/UselessStringValueOf.xml index 538b0cb9e0..5c01efe4b2 100644 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/performance/xml/UselessStringValueOf.xml +++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/performance/xml/UselessStringValueOf.xml @@ -109,6 +109,27 @@ public class Test { private void print(String s) { System.out.println(s); } +} + ]]> + + + + #3492 False positive for UselessStringValueOf, when there is no initial String to append to + 0 +