diff --git a/config/suppressions.xml b/config/suppressions.xml index 78729c389..87b4b6094 100644 --- a/config/suppressions.xml +++ b/config/suppressions.xml @@ -74,9 +74,9 @@ - - - + + + diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/RightCurlyCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/RightCurlyCheck.java index ed5f8748a..dd16b226c 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/RightCurlyCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/RightCurlyCheck.java @@ -213,16 +213,7 @@ public class RightCurlyCheck extends AbstractOptionCheck { && rcurly.getLineNo() != nextToken.getLineNo()) { violation = MSG_KEY_LINE_SAME; } - else if (bracePolicy == RightCurlyOption.ALONE - && !isAloneOnLine(details) - && !isEmptyBody(lcurly)) { - violation = MSG_KEY_LINE_ALONE; - } - else if (bracePolicy == RightCurlyOption.ALONE_OR_SINGLELINE - && !isAloneOnLine(details) - && !isSingleLineBlock(details) - && !isAnonInnerClassInit(lcurly) - && !isEmptyBody(lcurly)) { + else if (shouldBeAloneOnLine(details, bracePolicy)) { violation = MSG_KEY_LINE_ALONE; } else if (shouldStartLine) { @@ -236,6 +227,25 @@ public class RightCurlyCheck extends AbstractOptionCheck { return violation; } + /** + * Checks that a right curly should be alone on a line. + * @param details Details for validation + * @param bracePolicy option for placing the right curly brace + * @return true if a right curly should be alone on a line. + */ + private static boolean shouldBeAloneOnLine(Details details, RightCurlyOption bracePolicy) { + final boolean alone = bracePolicy == RightCurlyOption.ALONE + && !isAloneOnLine(details) + && !isEmptyBody(details.lcurly); + final boolean aloneOrSingleline = alone + || bracePolicy == RightCurlyOption.ALONE_OR_SINGLELINE + && !isAloneOnLine(details) + && !isSingleLineBlock(details) + && !isAnonInnerClassInit(details.lcurly) + && !isEmptyBody(details.lcurly); + return aloneOrSingleline; + } + /** * Checks whether right curly is alone on a line. * @param details for validation.