From dc58172b781226c181a1c0771fca59d17145754c Mon Sep 17 00:00:00 2001 From: Christian Kamm <christian.d.kamm@nokia.com> Date: Fri, 24 Sep 2010 15:40:45 +0200 Subject: [PATCH] C++ indenter: Add some small error recovery. --- src/plugins/cpptools/cppcodeformatter.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/plugins/cpptools/cppcodeformatter.cpp b/src/plugins/cpptools/cppcodeformatter.cpp index 30f589e6026..a81a57f339a 100644 --- a/src/plugins/cpptools/cppcodeformatter.cpp +++ b/src/plugins/cpptools/cppcodeformatter.cpp @@ -178,6 +178,7 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block) if (tryExpression()) break; switch (kind) { + case T_RBRACE: leave(true); continue; case T_SEMICOLON: leave(); continue; case T_LBRACE: case T_COLON: @@ -193,6 +194,8 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block) if (tryExpression()) break; switch (kind) { + case T_SEMICOLON: leave(true); break; + case T_RBRACE: leave(true); continue; case T_RPAREN: leave(); break; } break; @@ -256,6 +259,7 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block) case if_statement: switch (kind) { case T_LPAREN: enter(condition_open); break; + default: leave(true); continue; } break; case maybe_else: @@ -286,6 +290,7 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block) case return_statement: switch (kind) { + case T_RBRACE: leave(true); continue; case T_SEMICOLON: leave(true); break; } break; @@ -296,11 +301,13 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block) switch (kind) { case T_LBRACE: turnInto(substatement_open); break; case T_SEMICOLON: leave(true); break; + case T_RBRACE: leave(true); continue; } break; case for_statement: switch (kind) { case T_LPAREN: enter(for_statement_paren_open); break; + default: leave(true); continue; } break; case for_statement_paren_open: -- GitLab