diff options
author | Daniel Jasper <djasper@google.com> | 2013-02-04 08:34:57 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2013-02-04 08:34:57 +0000 |
commit | cda165056890b8ccfc6e2897c711388c5fb518c0 (patch) | |
tree | 7f1c6057474934c69f113276a850985eee5a6508 | |
parent | fa543accd8945c39d5128612c8822d0ab4ad594c (diff) |
Improve handling of trailing block comments
This is a follow up to r174309 to actually make it work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174314 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Format/Format.cpp | 10 | ||||
-rw-r--r-- | unittests/Format/FormatTest.cpp | 5 |
2 files changed, 10 insertions, 5 deletions
diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index 91cbc2efcd..47d6340cfd 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -204,6 +204,11 @@ private: tooling::Replacements Replaces; }; +static bool isTrailingComment(const AnnotatedToken &Tok) { + return Tok.is(tok::comment) && + (Tok.Children.empty() || Tok.Children[0].MustBreakBefore); +} + class UnwrappedLineFormatter { public: UnwrappedLineFormatter(const FormatStyle &Style, SourceManager &SourceMgr, @@ -464,7 +469,7 @@ private: (Previous.is(tok::l_paren) || Previous.is(tok::l_brace) || State.NextToken->Parent->Type == TT_TemplateOpener)) State.Stack[ParenLevel].Indent = State.Column + Spaces; - if (Previous.is(tok::comma) && Current.Type != TT_LineComment) + if (Previous.is(tok::comma) && !isTrailingComment(Current)) State.Stack[ParenLevel].HasMultiParameterLine = true; State.Column += Spaces; @@ -690,8 +695,7 @@ private: return true; if (State.NextToken->Parent->is(tok::comma) && State.Stack.back().BreakAfterComma && - (State.NextToken->isNot(tok::comment) || - !State.NextToken->Children[0].MustBreakBefore)) + !isTrailingComment(*State.NextToken)) return true; if ((State.NextToken->Type == TT_CtorInitializerColon || (State.NextToken->Parent->ClosesTemplateDeclaration && diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 3b5256990d..5b99716fdc 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -1919,11 +1919,12 @@ TEST_F(FormatTest, BlockComments) { EXPECT_EQ("someFunction(1, /* comment 1 */\n" " 2, /* comment 2 */\n" " 3, /* comment 3 */\n" - " aaaa);", + " aaaa,\n" + " bbbb);", format("someFunction (1, /* comment 1 */\n" " 2, /* comment 2 */ \n" " 3, /* comment 3 */\n" - "aaaa );", getGoogleStyle())); + "aaaa, bbbb );", getGoogleStyle())); } TEST_F(FormatTest, FormatStarDependingOnContext) { |