diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheck.java index 57c3c3460..51a00f9b3 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheck.java @@ -412,8 +412,8 @@ public class HiddenFieldCheck // we should not capitalize the first character if the second // one is a capital one, since according to JavBeans spec // setXYzz() is a setter for XYzz property, not for xYzz one. - if (name != null && name.length() > 0 - && (name.length() > 1 && !Character.isUpperCase(name.charAt(1)))) + if (name != null && (name.length() == 1 + || (name.length() > 1 && !Character.isUpperCase(name.charAt(1))))) { setterName = name.substring(0, 1).toUpperCase() + name.substring(1); } diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheckTest.java index a09c7696e..cfe8d998c 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/coding/HiddenFieldCheckTest.java @@ -99,6 +99,7 @@ public class HiddenFieldCheckTest "253:40: " + getCheckMessage(MSG_KEY, "prop"), "267:29: " + getCheckMessage(MSG_KEY, "prop"), "278:41: " + getCheckMessage(MSG_KEY, "prop2"), + "290:19: " + getCheckMessage(MSG_KEY, "i"), }; verify(checkConfig, getPath("InputHiddenField.java"), expected); } @@ -271,6 +272,7 @@ public class HiddenFieldCheckTest "253:40: " + getCheckMessage(MSG_KEY, "prop"), "267:29: " + getCheckMessage(MSG_KEY, "prop"), "278:41: " + getCheckMessage(MSG_KEY, "prop2"), + "290:19: " + getCheckMessage(MSG_KEY, "i"), }; verify(checkConfig, getPath("InputHiddenField.java"), expected); } @@ -348,6 +350,7 @@ public class HiddenFieldCheckTest "253:40: " + getCheckMessage(MSG_KEY, "prop"), "267:29: " + getCheckMessage(MSG_KEY, "prop"), "278:41: " + getCheckMessage(MSG_KEY, "prop2"), + "290:19: " + getCheckMessage(MSG_KEY, "i"), }; verify(checkConfig, getPath("InputHiddenField.java"), expected); } diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/InputHiddenField.java b/src/test/resources/com/puppycrawl/tools/checkstyle/InputHiddenField.java index 9b58ad44b..7209a2e70 100644 --- a/src/test/resources/com/puppycrawl/tools/checkstyle/InputHiddenField.java +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/InputHiddenField.java @@ -281,3 +281,14 @@ enum PropertySetter4 { return this; } } + +/** Tests setter for one letter field (issue #730). */ +class OneLetterField +{ + int i; + + void setI(int i) + { + this.i = i; + } +}