Menu

#1443 [java] RedundantFieldInitializer: False positive for small floats

PMD-5.3.6
closed
java (55)
PMD
3-Major
Bug
5.4.0
RedundantFieldInitializer
2016-06-25
2015-11-16
No

False positive for -1.0 < f < 1.0, e.g.
public float myFloat = 0.1f

Discussion

  • David Burström

    David Burström - 2015-11-16

    How about

    --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/optimizations/RedundantFieldInitializerRule.java
    +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/optimizations/RedundantFieldInitializerRule.java
    @@ -100,7 +100,7 @@ public class RedundantFieldInitializerRule extends AbstractJavaRule {
                                         value = (int) literal.getImage().charAt(1);
                                     }
    
    -                                if (value.longValue() == 0) {
    +                                if (value.doubleValue() == 0) {
                                         addViolation(data, variableDeclarator);
                                     }
                                 }
    
    --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/optimizations/xml/RedundantFieldInitializer.xml
    +++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/optimizations/xml/RedundantFieldInitializer.xml
    @@ -1302,4 +1302,13 @@ public class SomeClass {
     }
             ]]></code>
         </test-code>
    +    <test-code>
    +        <description>#1443 RedundantFieldInitializer: False positive for small floats</description>
    +        <expected-problems>0</expected-problems>
    +        <code><![CDATA[
    +public class SomeClass {
    +    private float someNumber = 0.1f;
    +}^M
    +        ]]></code>
    +    </test-code>
     </test-data>
    
     
  • Andreas Dangel

    Andreas Dangel - 2015-11-16
    • status: open --> closed
    • assigned_to: Andreas Dangel
    • Milestone: New Tickets --> PMD-5.3.6
     
  • Andreas Dangel

    Andreas Dangel - 2016-06-25
    • labels: --> java
    • summary: RedundantFieldInitializer: False positive for small floats --> [java] RedundantFieldInitializer: False positive for small floats
     

Log in to post a comment.