C++ indenter: Don't add continuation indent after function return type.

Task-number: QTCREATORBUG-1816
This commit is contained in:
Christian Kamm
2010-07-08 08:48:36 +02:00
parent 6078b36c9c
commit 486b23b8ef
2 changed files with 31 additions and 2 deletions

View File

@@ -932,7 +932,6 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd
case statement_with_condition:
case for_statement:
case switch_statement:
case declaration_start:
case if_statement:
case return_statement:
if (firstToken)
@@ -940,6 +939,19 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd
*indentDepth = *savedIndentDepth + 2*m_indentSize;
break;
case declaration_start:
if (firstToken)
*savedIndentDepth = tokenPosition;
// continuation indent in function bodies only, to not indent
// after the return type in "void\nfoo() {}"
for (int i = 0; state(i).type != topmost_intro; ++i) {
if (state(i).type == defun_open) {
*indentDepth = *savedIndentDepth + 2*m_indentSize;
break;
}
}
break;
case arglist_open:
case condition_paren_open:
if (!lastToken)