From 868d96b45918b5bb0db4b80bdf5b70f5202d6590 Mon Sep 17 00:00:00 2001 From: Oliver Burn Date: Mon, 4 Oct 2010 16:12:00 +1100 Subject: [PATCH] iron out bugs --- .../coding/OneStatementPerLineCheck.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/coding/OneStatementPerLineCheck.java b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/coding/OneStatementPerLineCheck.java index b3a9aec48..f99c2a889 100644 --- a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/coding/OneStatementPerLineCheck.java +++ b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/coding/OneStatementPerLineCheck.java @@ -60,10 +60,10 @@ public final class OneStatementPerLineCheck extends Check { switch (aAst.getType()) { case TokenTypes.EXPR: - startStatement(aAst); + visitExpr(aAst); break; case TokenTypes.SEMI: - startSemi(aAst); + visitSemi(aAst); break; case TokenTypes.FOR_INIT: mInForHeader = true; @@ -76,8 +76,15 @@ public final class OneStatementPerLineCheck extends Check @Override public void leaveToken(DetailAST aAst) { - if (TokenTypes.FOR_ITERATOR == aAst.getType()) { + switch (aAst.getType()) { + case TokenTypes.FOR_ITERATOR: mInForHeader = false; + break; + case TokenTypes.EXPR: + mExprDepth--; + break; + default: + break; } } @@ -88,7 +95,7 @@ public final class OneStatementPerLineCheck extends Check * not within a for-statement, then the rule is violated. * @param aAst token for the {@link TokenTypes#EXPR}. */ - private void startStatement(DetailAST aAst) + private void visitExpr(DetailAST aAst) { mExprDepth++; if (mExprDepth == 1) { @@ -103,11 +110,10 @@ public final class OneStatementPerLineCheck extends Check * line of the last statement. * @param aAst for the {@link TokenTypes#SEMI}. */ - private void startSemi(DetailAST aAst) + private void visitSemi(DetailAST aAst) { - mExprDepth--; if (mExprDepth == 0) { mLastStatementEnd = aAst.getLineNo(); } } -} \ No newline at end of file +}