CppTools: Fix indent after ">>" in return type

Add case for ">>" token in declaration_start state to prevent
falling through to stream_op.

Task-number: QTCREATORBUG-9199
Change-Id: I53710be55eff4574de89f9159e95bbc1de2ba34e
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
Dave Lewis
2014-03-17 15:30:42 -04:00
committed by Erik Verbruggen
parent 5510ec0552
commit a8c858acdd
2 changed files with 4 additions and 0 deletions

View File

@@ -189,6 +189,7 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block)
case T_LBRACE: enter(defun_open); break; case T_LBRACE: enter(defun_open); break;
case T_COLON: enter(member_init_open); enter(member_init_expected); break; case T_COLON: enter(member_init_open); enter(member_init_expected); break;
case T_OPERATOR: enter(operator_declaration); break; case T_OPERATOR: enter(operator_declaration); break;
case T_GREATER_GREATER: break;
default: tryExpression(true); break; default: tryExpression(true); break;
} break; } break;

View File

@@ -1284,6 +1284,9 @@ void tst_CodeFormatter::functionReturnType()
<< Line("template <class T>") << Line("template <class T>")
<< Line("const QList<QMap<T, T> > &") << Line("const QList<QMap<T, T> > &")
<< Line("A::B::foo() {}") << Line("A::B::foo() {}")
<< Line("std::map<int,std::vector<int>> indent() {}")
<< Line("std::map<int,std::vector<int> > indent() {}")
<< Line("")
; ;
checkIndent(data); checkIndent(data);
} }