[clang] [clang-format][NFC] Add getNextNonComment() to FormatTokenSource (PR #87868)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 5 22:49:58 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-format
Author: Owen Pan (owenca)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/87868.diff
2 Files Affected:
- (modified) clang/lib/Format/FormatTokenSource.h (+9)
- (modified) clang/lib/Format/UnwrappedLineParser.cpp (+2-9)
``````````diff
diff --git a/clang/lib/Format/FormatTokenSource.h b/clang/lib/Format/FormatTokenSource.h
index cce19f527a9236..1b7d2820e2c3b8 100644
--- a/clang/lib/Format/FormatTokenSource.h
+++ b/clang/lib/Format/FormatTokenSource.h
@@ -72,6 +72,15 @@ class FormatTokenSource {
// getNextToken() -> a1
// getNextToken() -> a2
virtual FormatToken *insertTokens(ArrayRef<FormatToken *> Tokens) = 0;
+
+ FormatToken *getNextNonComment() {
+ FormatToken *Tok;
+ do {
+ Tok = getNextToken();
+ assert(Tok);
+ } while (Tok->is(tok::comment));
+ return Tok;
+ }
};
class IndexedTokenSource : public FormatTokenSource {
diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp
index 57d8dbcf3b4c77..33be39f2f77b0b 100644
--- a/clang/lib/Format/UnwrappedLineParser.cpp
+++ b/clang/lib/Format/UnwrappedLineParser.cpp
@@ -427,11 +427,7 @@ bool UnwrappedLineParser::parseLevel(const FormatToken *OpeningBrace,
break;
case tok::kw_default: {
unsigned StoredPosition = Tokens->getPosition();
- FormatToken *Next;
- do {
- Next = Tokens->getNextToken();
- assert(Next);
- } while (Next->is(tok::comment));
+ auto *Next = Tokens->getNextNonComment();
FormatTok = Tokens->setPosition(StoredPosition);
if (Next->isNot(tok::colon)) {
// default not followed by ':' is not a case label; treat it like
@@ -497,10 +493,7 @@ void UnwrappedLineParser::calculateBraceTypes(bool ExpectClassBody) {
assert(Tok->is(tok::l_brace));
do {
- FormatToken *NextTok;
- do {
- NextTok = Tokens->getNextToken();
- } while (NextTok->is(tok::comment));
+ auto *NextTok = Tokens->getNextNonComment();
if (!Line->InMacroBody && !Style.isTableGen()) {
// Skip PPDirective lines and comments.
``````````
</details>
https://github.com/llvm/llvm-project/pull/87868
More information about the cfe-commits
mailing list