diff options
| author | Daniel Jasper <djasper@google.com> | 2014-05-09 10:26:08 +0000 |
|---|---|---|
| committer | Daniel Jasper <djasper@google.com> | 2014-05-09 10:26:08 +0000 |
| commit | 8951908218ce58133794f241a7fbf4b2bd58de40 (patch) | |
| tree | 02cc3aca698e82b06db3cf6ccc36b88bad5b670a | |
| parent | eadcdbbe57997d16e4043993599c725457aa1ff6 (diff) | |
| download | bcm5719-llvm-8951908218ce58133794f241a7fbf4b2bd58de40.tar.gz bcm5719-llvm-8951908218ce58133794f241a7fbf4b2bd58de40.zip | |
clang-format: [JS] Fix spacing in dict literals.
Before:
someVariable = {'a':[{}]};
After:
someVariable = {'a': [{}]};
llvm-svn: 208403
| -rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 9 | ||||
| -rw-r--r-- | clang/unittests/Format/FormatTestJS.cpp | 1 |
2 files changed, 7 insertions, 3 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index a3400cc6c5c..2d864f25ae7 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -225,8 +225,10 @@ private: FormatToken *Parent = Left->getPreviousNonComment(); bool StartsObjCMethodExpr = Contexts.back().CanBeExpression && Left->Type != TT_LambdaLSquare && - (!Parent || Parent->isOneOf(tok::colon, tok::l_square, tok::l_paren, - tok::kw_return, tok::kw_throw) || + CurrentToken->isNot(tok::l_brace) && + (!Parent || + Parent->isOneOf(tok::colon, tok::l_square, tok::l_paren, + tok::kw_return, tok::kw_throw) || Parent->isUnaryOperator() || Parent->Type == TT_ObjCForIn || Parent->Type == TT_CastRParen || getBinOpPrecedence(Parent->Tok.getKind(), true, true) > prec::Unknown); @@ -1452,7 +1454,8 @@ bool TokenAnnotator::spaceRequiredBetween(const AnnotatedLine &Line, return Right.MatchingParen && Style.SpacesInContainerLiterals && Right.MatchingParen->Type == TT_ArrayInitializerLSquare; if (Right.is(tok::l_square) && Right.Type != TT_ObjCMethodExpr && - Right.Type != TT_LambdaLSquare && Left.isNot(tok::numeric_constant)) + Right.Type != TT_LambdaLSquare && Left.isNot(tok::numeric_constant) && + Left.Type != TT_DictLiteral) return false; if (Left.is(tok::colon)) return Left.Type != TT_ObjCMethodExpr; diff --git a/clang/unittests/Format/FormatTestJS.cpp b/clang/unittests/Format/FormatTestJS.cpp index 73e050d6f4f..cc674164930 100644 --- a/clang/unittests/Format/FormatTestJS.cpp +++ b/clang/unittests/Format/FormatTestJS.cpp @@ -85,6 +85,7 @@ TEST_F(FormatTestJS, SpacesInContainerLiterals) { verifyFormat("var obj = {a: 1, b: 2, c: 3};", getChromiumStyle(FormatStyle::LK_JavaScript)); + verifyFormat("someVariable = {'a': [{}]};"); } TEST_F(FormatTestJS, SingleQuoteStrings) { |

