C++ indenter: Fix multiple initializers.

Task-number: QTCREATORBUG-4993
Change-Id: I0f7d541eb7b26c37b8167e30e2949b6b939fe4b8
Reviewed-on: http://codereview.qt.nokia.com/297
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
This commit is contained in:
Christian Kamm
2011-06-01 11:10:57 +02:00
parent ca2f104f30
commit 794f296701
2 changed files with 17 additions and 0 deletions

View File

@@ -195,6 +195,7 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block)
case T_RBRACE: leave(true); continue; case T_RBRACE: leave(true); continue;
case T_SEMICOLON: leave(); continue; case T_SEMICOLON: leave(); continue;
case T_RPAREN: leave(); continue; case T_RPAREN: leave(); continue;
case T_COMMA: leave(); continue;
default: enter(assign_open); continue; default: enter(assign_open); continue;
} break; } break;
@@ -218,6 +219,7 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block)
case T_RBRACE: leave(true); continue; case T_RBRACE: leave(true); continue;
case T_SEMICOLON: leave(); continue; case T_SEMICOLON: leave(); continue;
case T_RPAREN: leave(); continue; case T_RPAREN: leave(); continue;
case T_COMMA: leave(); continue;
default: tryExpression(); break; default: tryExpression(); break;
} break; } break;

View File

@@ -73,6 +73,7 @@ private Q_SLOTS:
void bug1(); void bug1();
void bug2(); void bug2();
void bug3(); void bug3();
void bug4();
void switch1(); void switch1();
void switch2(); void switch2();
void switch3(); void switch3();
@@ -778,6 +779,20 @@ void tst_CodeFormatter::bug3()
checkIndent(data); checkIndent(data);
} }
void tst_CodeFormatter::bug4()
{
QList<Line> data;
data << Line("void test()")
<< Line("{")
<< Line(" int a = 0, b = {0};")
<< Line(" int a = {0}, b = {0};")
<< Line(" int b;")
<< Line("}")
<< Line("int c;")
;
checkIndent(data);
}
void tst_CodeFormatter::braceList() void tst_CodeFormatter::braceList()
{ {
QList<Line> data; QList<Line> data;