From e634dba450e350addf63b05558edb5f3b303e95b Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Mon, 29 May 2017 09:17:31 +0100 Subject: [PATCH] regressions: ExplicitInitialization: added Regression added in preparation for checkstyle adding an option in 7.8.x to allow primatives to be initialised to their default values. --- .../regressions/ExplicitInitialization.java | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 regressions/src/main/java/net/kemitix/checkstyle/regressions/ExplicitInitialization.java diff --git a/regressions/src/main/java/net/kemitix/checkstyle/regressions/ExplicitInitialization.java b/regressions/src/main/java/net/kemitix/checkstyle/regressions/ExplicitInitialization.java new file mode 100644 index 0000000..322b589 --- /dev/null +++ b/regressions/src/main/java/net/kemitix/checkstyle/regressions/ExplicitInitialization.java @@ -0,0 +1,60 @@ +/** + * The MIT License (MIT) + * + * Copyright (c) 2017 Paul Campbell + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software + * and associated documentation files (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies + * or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE + * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +package net.kemitix.checkstyle.regressions; + +/** + * Regression demo for {@code ExplicitInitializationCheck}. + * + * @author Paul Campbell (pcampbell@kemitix.net). + */ +@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 = ""; + + private Object validObject = new Object(); + + @SuppressWarnings("explicitinitialization") + private Boolean invalidBoolean = null; + + @SuppressWarnings("explicitinitialization") + private Integer invalidInteger = null; + + @SuppressWarnings("explicitinitialization") + private String invalidString = null; + + @SuppressWarnings("explicitinitialization") + private Object invalidObject = null; + +}