diff options
-rw-r--r-- | src/plugins/cpptools/cppcodeformatter.cpp | 5 | ||||
-rw-r--r-- | tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp | 43 |
2 files changed, 41 insertions, 7 deletions
diff --git a/src/plugins/cpptools/cppcodeformatter.cpp b/src/plugins/cpptools/cppcodeformatter.cpp index 7bb38600ac..41e70725f7 100644 --- a/src/plugins/cpptools/cppcodeformatter.cpp +++ b/src/plugins/cpptools/cppcodeformatter.cpp @@ -1144,6 +1144,7 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd case arglist_open: case condition_paren_open: + case member_init_paren_open: if (!lastToken) *paddingDepth = nextTokenPosition-*indentDepth; else @@ -1179,10 +1180,6 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd *paddingDepth += 2; // savedIndentDepth is the position of ':' break; - case member_init_paren_open: - addContinuationIndent(paddingDepth); - break; - case case_cont: if (m_styleSettings.indentStatementsRelativeToSwitchLabels) *indentDepth += m_tabSettings.m_indentSize; diff --git a/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp b/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp index fedea8c909..1b882e1614 100644 --- a/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp +++ b/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp @@ -115,7 +115,8 @@ private Q_SLOTS: void functionBodyAndBraces2(); void functionBodyAndBraces3(); void functionBodyAndBraces4(); - void constructor(); + void constructor1(); + void constructor2(); void caseBody1(); void caseBody2(); void caseBody3(); @@ -1080,7 +1081,7 @@ void tst_CodeFormatter::memberInitializer() << Line(" Foo()") << Line(" ~ : baR(),") << Line(" ~ moodoo(barR + ") - << Line(" ~ 42),") + << Line(" ~ 42),") << Line(" ~ xyz()") << Line(" {}") << Line("};") @@ -1764,7 +1765,7 @@ void tst_CodeFormatter::functionBodyAndBraces4() checkIndent(data, codeStyle); } -void tst_CodeFormatter::constructor() +void tst_CodeFormatter::constructor1() { QList<Line> data; data << Line("class Foo {") @@ -1782,6 +1783,42 @@ void tst_CodeFormatter::constructor() checkIndent(data, codeStyle); } +void tst_CodeFormatter::constructor2() +{ + QList<Line> data; + data << Line("class Foo {") + << Line(" Foo() : _a(0)") + << Line(" {") + << Line(" _b = 0") + << Line(" }") + << Line(" int _a;") + << Line(" Foo()") + << Line(" ~ : _foo(1),") + << Line(" ~ _bar(2),") + << Line(" ~ _carooooo(") + << Line(" ~ foo() + 12),") + << Line(" ~ _carooooo(foo(),") + << Line(" ~ 12)") + << Line(" {") + << Line(" _b = 0") + << Line(" }") + << Line(" int _b;") + << Line(" Foo()") + << Line(" ~ : _foo(1)") + << Line(" ~ , _bar(2)") + << Line(" ~ , _carooooo(") + << Line(" ~ foo() + 12)") + << Line(" ~ , _carooooo(foo(),") + << Line(" ~ 12)") + << Line(" {") + << Line(" _b = 0") + << Line(" }") + << Line("};") + ; + CppCodeStyleSettings codeStyle; + checkIndent(data); +} + void tst_CodeFormatter::caseBody1() { QList<Line> data; |