diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/NeedBracesCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/NeedBracesCheck.java index cb81cfd1b..a46bfc735 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/NeedBracesCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/blocks/NeedBracesCheck.java @@ -354,35 +354,11 @@ public class NeedBracesCheck extends Check { } else if (literalFor.getParent().getType() == TokenTypes.SLIST && literalFor.getLastChild().getType() != TokenTypes.SLIST) { - final DetailAST block = findExpressionBlockInForLoop(literalFor); - if (block == null) { - result = literalFor.getLineNo() == literalFor.getLastChild().getLineNo(); - } - else { - result = literalFor.getLineNo() == block.getLineNo(); - } + result = literalFor.getLineNo() == literalFor.getLastChild().getLineNo(); } return result; } - /** - * Detects and returns expression block in classical and enhanced for loops. - * - * @param literalFor parent for loop literal - * @return expression block - */ - private static DetailAST findExpressionBlockInForLoop(DetailAST literalFor) { - final DetailAST forEachClause = literalFor.findFirstToken(TokenTypes.FOR_EACH_CLAUSE); - final DetailAST firstToken; - if (forEachClause == null) { - firstToken = literalFor.findFirstToken(TokenTypes.EXPR); - } - else { - firstToken = forEachClause.findFirstToken(TokenTypes.EXPR); - } - return firstToken; - } - /** * Checks if current if statement is single-line statement, e.g.: *

diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/blocks/NeedBracesCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/blocks/NeedBracesCheckTest.java index 91dd8a642..b7fdaea51 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/blocks/NeedBracesCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/blocks/NeedBracesCheckTest.java @@ -85,6 +85,7 @@ public class NeedBracesCheckTest extends BaseCheckTestSupport { "91: " + getCheckMessage(MSG_KEY_NEED_BRACES, "if"), "95: " + getCheckMessage(MSG_KEY_NEED_BRACES, "else"), "107: " + getCheckMessage(MSG_KEY_NEED_BRACES, "if"), + "114: " + getCheckMessage(MSG_KEY_NEED_BRACES, "for"), }; verify(checkConfig, getPath("InputBracesSingleLineStatements.java"), expected); } diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/blocks/InputBracesSingleLineStatements.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/blocks/InputBracesSingleLineStatements.java index 84e8e7eb2..5e89a77be 100644 --- a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/blocks/InputBracesSingleLineStatements.java +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/blocks/InputBracesSingleLineStatements.java @@ -108,4 +108,10 @@ public class InputBracesSingleLineStatements return true; } } + + private void forEachLoop() { + for (String s: new String[]{""}) break; + for (String s: new String[]{""}) + break; + } }