clang-format: Detect braced lists in subscript expressions.

Before (even with Style.Cpp11BracedListStyle):
  f(MyMap[{ composite, key }]);

After:
  f(MyMap[{composite, key}]);

llvm-svn: 190678
This commit is contained in:
Daniel Jasper 2013-09-13 10:55:31 +00:00
parent 57cb2bd0ef
commit f3d977979c
2 changed files with 3 additions and 1 deletions

View File

@ -290,7 +290,7 @@ void UnwrappedLineParser::calculateBraceTypes() {
//
// We exclude + and - as they can be ObjC visibility modifiers.
if (NextTok->isOneOf(tok::comma, tok::semi, tok::r_paren,
tok::l_brace, tok::colon) ||
tok::r_square, tok::l_brace, tok::colon) ||
(NextTok->isBinaryOperator() &&
!NextTok->isOneOf(tok::plus, tok::minus))) {
Tok->BlockKind = BK_BracedInit;

View File

@ -4271,6 +4271,7 @@ TEST_F(FormatTest, LayoutCxx11ConstructorBraceInitializers) {
verifyFormat("return { arg1, arg2 };");
verifyFormat("return { arg1, SomeType{ parameter } };");
verifyFormat("new T{ arg1, arg2 };");
verifyFormat("f(MyMap[{ composite, key }]);");
verifyFormat("class Class {\n"
" T member = { arg1, arg2 };\n"
"};");
@ -4305,6 +4306,7 @@ TEST_F(FormatTest, LayoutCxx11ConstructorBraceInitializers) {
verifyFormat("return {arg1, arg2};", NoSpaces);
verifyFormat("return {arg1, SomeType{parameter}};", NoSpaces);
verifyFormat("new T{arg1, arg2};", NoSpaces);
verifyFormat("f(MyMap[{composite, key}]);", NoSpaces);
verifyFormat("class Class {\n"
" T member = {arg1, arg2};\n"
"};",