From 7d19bc2c8882457e833dfe9741ac5a4a7198e46f Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Fri, 11 Jan 2013 14:23:32 +0000 Subject: [PATCH] Improve handling of trailing declaration annotations. Before: void aaaaaaaaaaaa(int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) GUARDED_BY( aaaaaaaaaaaaa); After: void aaaaaaaaaaaa(int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) GUARDED_BY(aaaaaaaaaaaaa); Also did some formatting cleanups with clang-format on the way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172200 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Format/Format.cpp | 24 +++++++++++------------- unittests/Format/FormatTest.cpp | 5 +++++ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index a09f9d0e11..56bb6ec426 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -183,7 +183,7 @@ bool fitsIntoLimit(const AnnotatedToken &RootToken, unsigned Limit) { FitsOnALine = false; break; } - }; + } return FitsOnALine; } @@ -274,7 +274,7 @@ private: bool operator<(const ParenState &Other) const { if (Indent != Other.Indent) - return Indent < Other.Indent; + return Indent < Other.Indent; if (LastSpace != Other.LastSpace) return LastSpace < Other.LastSpace; if (FirstLessLess != Other.FirstLessLess) @@ -406,8 +406,7 @@ private: (getPrecedence(Previous) == prec::Assignment || Previous.is(tok::kw_return))) State.Stack[ParenLevel].Indent = State.Column + Spaces; - if (Previous.is(tok::l_paren) || - Previous.is(tok::l_brace) || + if (Previous.is(tok::l_paren) || Previous.is(tok::l_brace) || State.NextToken->Parent->Type == TT_TemplateOpener) State.Stack[ParenLevel].Indent = State.Column + Spaces; @@ -604,8 +603,7 @@ public: TokenAnnotator(const UnwrappedLine &Line, const FormatStyle &Style, SourceManager &SourceMgr, Lexer &Lex) : Style(Style), SourceMgr(SourceMgr), Lex(Lex), - RootToken(Line.RootToken) { - } + RootToken(Line.RootToken) {} /// \brief A parser that gathers additional information about tokens. /// @@ -615,8 +613,7 @@ public: class AnnotatingParser { public: AnnotatingParser(AnnotatedToken &RootToken) - : CurrentToken(&RootToken), KeywordVirtualFound(false) { - } + : CurrentToken(&RootToken), KeywordVirtualFound(false) {} bool parseAngle() { while (CurrentToken != NULL) { @@ -1065,8 +1062,8 @@ private: if (Right.is(tok::l_paren)) { return CurrentLineType == LT_ObjCDecl || Left.is(tok::kw_if) || Left.is(tok::kw_for) || Left.is(tok::kw_while) || - Left.is(tok::kw_switch) || - Left.is(tok::kw_return) || Left.is(tok::kw_catch); + Left.is(tok::kw_switch) || Left.is(tok::kw_return) || + Left.is(tok::kw_catch); } if (Left.is(tok::at) && Right.FormatTok.Tok.getObjCKeywordID() != tok::objc_not_keyword) @@ -1167,6 +1164,8 @@ private: Right.is(tok::colon) || Left.is(tok::semi) || Left.is(tok::l_brace) || Left.is(tok::question) || Right.is(tok::r_brace) || Left.Type == TT_ConditionalExpr || + (Left.is(tok::r_paren) && Left.Type != TT_CastRParen && + Right.is(tok::identifier)) || (Left.is(tok::l_paren) && !Right.is(tok::r_paren)); } @@ -1267,8 +1266,7 @@ public: : Diag(Diag), Style(Style), Lex(Lex), SourceMgr(SourceMgr), Ranges(Ranges) {} - virtual ~Formatter() { - } + virtual ~Formatter() {} tooling::Replacements format() { LexerBasedFormatTokenSource Tokens(Lex, SourceMgr); @@ -1346,7 +1344,7 @@ private: unsigned formatFirstToken(const AnnotatedToken &RootToken, unsigned Level, bool InPPDirective, unsigned PreviousEndOfLineColumn) { - const FormatToken& Tok = RootToken.FormatTok; + const FormatToken &Tok = RootToken.FormatTok; if (!Tok.WhiteSpaceStart.isValid() || StructuralError) return SourceMgr.getSpellingColumnNumber(Tok.Tok.getLocation()) - 1; diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index e60ed3722e..47e6bdd114 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -741,6 +741,11 @@ TEST_F(FormatTest, BreaksDesireably) { " }\n }\n}"); } +TEST_F(FormatTest, DoesNotBreakTrailingAnnotation) { + verifyFormat("void aaaaaaaaaaaa(int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)\n" + " GUARDED_BY(aaaaaaaaaaaaa);"); +} + TEST_F(FormatTest, BreaksAccordingToOperatorPrecedence) { verifyFormat( "if (aaaaaaaaaaaaaaaaaaaaaaaaa ||\n" -- 2.40.0