diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 73840332e22c2..6972008a27fb1 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -4763,16 +4763,6 @@ static bool isAllmanLambdaBrace(const FormatToken &Tok) { !Tok.isOneOf(TT_ObjCBlockLBrace, TT_DictLiteral); } -// Returns the first token on the line that is not a comment. -static const FormatToken *getFirstNonComment(const AnnotatedLine &Line) { - const FormatToken *Next = Line.First; - if (!Next) - return Next; - if (Next->is(tok::comment)) - Next = Next->getNextNonComment(); - return Next; -} - bool TokenAnnotator::mustBreakBefore(const AnnotatedLine &Line, const FormatToken &Right) const { const FormatToken &Left = *Right.Previous; @@ -5044,7 +5034,7 @@ bool TokenAnnotator::mustBreakBefore(const AnnotatedLine &Line, return Right.HasUnescapedNewline; if (isAllmanBrace(Left) || isAllmanBrace(Right)) { - auto FirstNonComment = getFirstNonComment(Line); + auto *FirstNonComment = Line.getFirstNonComment(); bool AccessSpecifier = FirstNonComment && FirstNonComment->isOneOf(Keywords.kw_internal, tok::kw_public, diff --git a/clang/lib/Format/TokenAnnotator.h b/clang/lib/Format/TokenAnnotator.h index f3e5b397aa78b..58e2cf79f488f 100644 --- a/clang/lib/Format/TokenAnnotator.h +++ b/clang/lib/Format/TokenAnnotator.h @@ -151,6 +151,11 @@ class AnnotatedLine { startsWith(tok::kw_export, tok::kw_namespace); } + FormatToken *getFirstNonComment() const { + assert(First); + return First->is(tok::comment) ? First->getNextNonComment() : First; + } + FormatToken *First; FormatToken *Last;