[clang-format] Handle NSString literals by merging tokens.
authorAlexander Kornienko <alexfh@google.com>
Tue, 11 Apr 2017 09:55:00 +0000 (09:55 +0000)
committerAlexander Kornienko <alexfh@google.com>
Tue, 11 Apr 2017 09:55:00 +0000 (09:55 +0000)
commitd4fa2e634876672a680a300442ed917761a8c3ff
tree7f4503b025bc11c7af8ebd4d3097fe07420945e4
parent4fc5f3c02e57136c7c4055bd2f83a56bb79d37e5
[clang-format] Handle NSString literals by merging tokens.

Summary:
This fixes a few outstanding bugs:
  * incorrect breaking of NSString literals containing double-width characters;
  * inconsistent formatting of ObjC dictionary literals containing NSString
    literals;
  * AlwaysBreakBeforeMultilineStrings ignoring implicitly-concatenated NSString
    literals.

Reviewers: djasper

Reviewed By: djasper

Subscribers: klimek, cfe-commits

Differential Revision: https://reviews.llvm.org/D31706

llvm-svn: 299927
clang/lib/Format/BreakableToken.cpp
clang/lib/Format/ContinuationIndenter.cpp
clang/lib/Format/FormatTokenLexer.cpp
clang/lib/Format/FormatTokenLexer.h
clang/lib/Format/TokenAnnotator.cpp
clang/unittests/Format/FormatTest.cpp