builder: ExplicitInitilization only applies to object references

This commit is contained in:
Paul Campbell 2017-05-30 15:01:05 +01:00
parent 96381c9c90
commit 4cc70343be
7 changed files with 19 additions and 16 deletions

View file

@ -8,6 +8,7 @@ CHANGELOG
* Upgrade sevntu to 1.24.0
* Add Rule: MoveVariableInsideIf
* Add Rule: ForbidWildcardAsReturnType
* Modify Rule: ExplicitInitialization only applies to objects
* Add Wercker CI
* Add Shippable CI

View file

@ -903,13 +903,15 @@ Checks that when a class overrides the `equals()` method, that it also overrides
Limits the number of executable statements in a method to 30.
#### [ExplicitInitialization](http://checkstyle.sourceforge.net/config_coding.html#ExplicitInitialization)
Checks that fields are not being explicitly initialised to their already default value.
Checks that object fields are not being explicitly initialised to their already default value.
Does not check primitive field types.
Valid:
````
class Valid {
private int foo;
private int foo = 0;
private Object bar;
}
@ -919,7 +921,7 @@ Invalid:
````
class Invalid {
private int foo = 0;
private Integer foo = 0;
private Object bar = null;
}

View file

@ -275,6 +275,8 @@ rules:
enabled: true
source: CHECKSTYLE
uri: http://checkstyle.sourceforge.net/config_coding.html#ExplicitInitialization
properties:
onlyObjectReferences: true
-
name: FallThrough
parent: TREEWALKER

View file

@ -1,11 +1,13 @@
Checks that fields are not being explicitly initialised to their already default value.
Checks that object fields are not being explicitly initialised to their already default value.
Does not check primitive field types.
Valid:
````
class Valid {
private int foo;
private int foo = 0;
private Object bar;
}
@ -15,7 +17,7 @@ Invalid:
````
class Invalid {
private int foo = 0;
private Integer foo = 0;
private Object bar = null;
}

View file

@ -29,16 +29,8 @@ package net.kemitix.checkstyle.regressions;
@SuppressWarnings("hideutilityclassconstructor")
class ExplicitInitialization {
/**
* This will become valid in next release.
*/
@SuppressWarnings("explicitinitialization")
private boolean validBoolean = false;
/**
* This will become valid in next release.
*/
@SuppressWarnings("explicitinitialization")
private int validInt = 0;
private String validString = "";

View file

@ -50,7 +50,9 @@
<module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck"/>
<module name="com.puppycrawl.tools.checkstyle.checks.coding.EmptyStatementCheck"/>
<module name="com.puppycrawl.tools.checkstyle.checks.coding.EqualsAvoidNullCheck"/>
<module name="com.puppycrawl.tools.checkstyle.checks.coding.ExplicitInitializationCheck"/>
<module name="com.puppycrawl.tools.checkstyle.checks.coding.ExplicitInitializationCheck">
<property name="onlyObjectReferences" value="true"/>
</module>
<module name="com.puppycrawl.tools.checkstyle.checks.coding.FallThroughCheck"/>
<module name="com.puppycrawl.tools.checkstyle.checks.FinalParametersCheck"/>
<module name="com.puppycrawl.tools.checkstyle.checks.whitespace.GenericWhitespaceCheck"/>

View file

@ -69,7 +69,9 @@
<module name="com.puppycrawl.tools.checkstyle.checks.coding.EqualsAvoidNullCheck"/>
<module name="com.puppycrawl.tools.checkstyle.checks.coding.EqualsHashCodeCheck"/>
<module name="com.puppycrawl.tools.checkstyle.checks.sizes.ExecutableStatementCountCheck"/>
<module name="com.puppycrawl.tools.checkstyle.checks.coding.ExplicitInitializationCheck"/>
<module name="com.puppycrawl.tools.checkstyle.checks.coding.ExplicitInitializationCheck">
<property name="onlyObjectReferences" value="true"/>
</module>
<module name="com.puppycrawl.tools.checkstyle.checks.coding.FallThroughCheck"/>
<module name="com.puppycrawl.tools.checkstyle.checks.design.FinalClassCheck"/>
<module name="com.puppycrawl.tools.checkstyle.checks.FinalParametersCheck"/>