From d6d2cf182b714f0e47a4048afdfc058b514a0ce2 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Tue, 2 Jun 2015 14:20:08 +0000 Subject: [PATCH] clang-format: [JS] Fix another regression when detecting array literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@238835 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Format/TokenAnnotator.cpp | 3 ++- unittests/Format/FormatTestJS.cpp | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 15318deee8..0cfcd8921d 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -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; diff --git a/unittests/Format/FormatTestJS.cpp b/unittests/Format/FormatTestJS.cpp index e8424efd87..583188d3eb 100644 --- a/unittests/Format/FormatTestJS.cpp +++ b/unittests/Format/FormatTestJS.cpp @@ -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) { -- 2.50.1