summaryrefslogtreecommitdiffstats
path: root/clang/lib/Format
diff options
context:
space:
mode:
authorBen Hamilton <benhamilton@google.com>2018-04-03 14:07:09 +0000
committerBen Hamilton <benhamilton@google.com>2018-04-03 14:07:09 +0000
commit1915d2ac4f8d5b5bcfb716f7b03fb30d3228de82 (patch)
tree4b3285d97459c1d0747d61e45c11c3459bd8ce33 /clang/lib/Format
parent823e5f90db76287fef9b0b53e3391aade3c79146 (diff)
downloadbcm5719-llvm-1915d2ac4f8d5b5bcfb716f7b03fb30d3228de82.tar.gz
bcm5719-llvm-1915d2ac4f8d5b5bcfb716f7b03fb30d3228de82.zip
[clang-format/ObjC] Do not insert space after opening brace of ObjC dict literal
Summary: D44816 attempted to fix a few cases where `clang-format` incorrectly inserted a space before the closing brace of an Objective-C dictionary literal. This revealed there were still a few cases where we inserted a space after the opening brace of an Objective-C dictionary literal. This fixes the formatting to be consistent and adds more tests. Test Plan: New tests added. Confirmed tests failed before diff and passed after diff. Ran tests with: % make -j12 FormatTests && ./tools/clang/unittests/Format/FormatTests Reviewers: djasper, jolesiak, krasimir Reviewed By: djasper Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D45168 llvm-svn: 329069
Diffstat (limited to 'clang/lib/Format')
-rw-r--r--clang/lib/Format/TokenAnnotator.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp
index 24494b69826..038121e8ef8 100644
--- a/clang/lib/Format/TokenAnnotator.cpp
+++ b/clang/lib/Format/TokenAnnotator.cpp
@@ -2480,6 +2480,9 @@ bool TokenAnnotator::spaceRequiredBetween(const AnnotatedLine &Line,
return false;
if (Left.is(TT_TemplateCloser) && Right.is(tok::l_square))
return false;
+ if (Left.is(tok::l_brace) && Left.endsSequence(TT_DictLiteral, tok::at))
+ // Objective-C dictionary literal -> no space after opening brace.
+ return false;
if (Right.is(tok::r_brace) && Right.MatchingParen &&
Right.MatchingParen->endsSequence(TT_DictLiteral, tok::at))
// Objective-C dictionary literal -> no space before closing brace.
OpenPOWER on IntegriCloud