]> granicus.if.org Git - clang/commitdiff
clang-format: [JS] Fix another regression when detecting array literals.
authorDaniel Jasper <djasper@google.com>
Tue, 2 Jun 2015 14:20:08 +0000 (14:20 +0000)
committerDaniel Jasper <djasper@google.com>
Tue, 2 Jun 2015 14:20:08 +0000 (14:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@238835 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/TokenAnnotator.cpp
unittests/Format/FormatTestJS.cpp

index 15318deee8b528c45913502f484b2712c8868dd8..0cfcd8921dd4148d5a653837272d709664bfce87 100644 (file)
@@ -276,11 +276,12 @@ private:
       if (StartsObjCMethodExpr) {
         Left->Type = TT_ObjCMethodExpr;
       } else if (Style.Language == FormatStyle::LK_JavaScript && Parent &&
+                 Contexts.back().ContextKind == tok::l_brace &&
                  Parent->isOneOf(tok::l_brace, tok::comma)) {
         Left->Type = TT_JsComputedPropertyName;
       } else if (Parent &&
                  Parent->isOneOf(tok::at, tok::equal, tok::comma,
-                                 tok::l_paren)) {
+                                 tok::l_paren, tok::question, tok::colon)) {
         Left->Type = TT_ArrayInitializerLSquare;
       } else {
         BindingIncrease = 10;
index e8424efd8714c40e0b0600097a70d011b5e14b4f..583188d3ebc1d8b7561470793f5a513498ac6cb3 100644 (file)
@@ -257,6 +257,11 @@ TEST_F(FormatTestJS, ArrayLiterals) {
                "  bbbbbbbbbbbbbbbbbbbbbbbbbbb,\n"
                "  ccccccccccccccccccccccccccc\n"
                "]);");
+  verifyFormat("var someVariable = SomeFuntion(aaaa, [\n"
+               "  aaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
+               "  bbbbbbbbbbbbbbbbbbbbbbbbbbb,\n"
+               "  ccccccccccccccccccccccccccc\n"
+               "]);");
 }
 
 TEST_F(FormatTestJS, FunctionLiterals) {