Author: Manuel Klimek Date: 2023-01-31T15:06:20Z New Revision: be31f2c11d47d3eca28d922a06de181d6e23b355
URL: https://github.com/llvm/llvm-project/commit/be31f2c11d47d3eca28d922a06de181d6e23b355 DIFF: https://github.com/llvm/llvm-project/commit/be31f2c11d47d3eca28d922a06de181d6e23b355.diff LOG: [clang-format][NFC] Move IndexedTokenSource to FormatTokenSource header. Finish refactoring of the token sources towards a single location. Added: Modified: clang/lib/Format/FormatTokenSource.h clang/lib/Format/UnwrappedLineParser.cpp Removed: ################################################################################ diff --git a/clang/lib/Format/FormatTokenSource.h b/clang/lib/Format/FormatTokenSource.h index 11c735d36864..e14f72b7d1f4 100644 --- a/clang/lib/Format/FormatTokenSource.h +++ b/clang/lib/Format/FormatTokenSource.h @@ -52,6 +52,71 @@ class FormatTokenSource { virtual FormatToken *setPosition(unsigned Position) = 0; }; +class IndexedTokenSource : public FormatTokenSource { +public: + IndexedTokenSource(ArrayRef<FormatToken *> Tokens) + : Tokens(Tokens), Position(-1) {} + + FormatToken *getNextToken() override { + if (Position >= 0 && isEOF()) { + LLVM_DEBUG({ + llvm::dbgs() << "Next "; + dbgToken(Position); + }); + return Tokens[Position]; + } + ++Position; + LLVM_DEBUG({ + llvm::dbgs() << "Next "; + dbgToken(Position); + }); + return Tokens[Position]; + } + + FormatToken *getPreviousToken() override { + return Position > 0 ? Tokens[Position - 1] : nullptr; + } + + FormatToken *peekNextToken(bool SkipComment) override { + int Next = Position + 1; + if (SkipComment) + while (Tokens[Next]->is(tok::comment)) + ++Next; + LLVM_DEBUG({ + llvm::dbgs() << "Peeking "; + dbgToken(Next); + }); + return Tokens[Next]; + } + + bool isEOF() override { return Tokens[Position]->is(tok::eof); } + + unsigned getPosition() override { + LLVM_DEBUG(llvm::dbgs() << "Getting Position: " << Position << "\n"); + assert(Position >= 0); + return Position; + } + + FormatToken *setPosition(unsigned P) override { + LLVM_DEBUG(llvm::dbgs() << "Setting Position: " << P << "\n"); + Position = P; + return Tokens[Position]; + } + + void reset() { Position = -1; } + +private: + void dbgToken(int Position, llvm::StringRef Indent = "") { + FormatToken *Tok = Tokens[Position]; + llvm::dbgs() << Indent << "[" << Position + << "] Token: " << Tok->Tok.getName() << " / " << Tok->TokenText + << ", Macro: " << !!Tok->MacroCtx << "\n"; + } + + ArrayRef<FormatToken *> Tokens; + int Position; +}; + class ScopedMacroState : public FormatTokenSource { public: ScopedMacroState(UnwrappedLine &Line, FormatTokenSource *&TokenSource, diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp index 9d90e5390bb8..c211c0ceb067 100644 --- a/clang/lib/Format/UnwrappedLineParser.cpp +++ b/clang/lib/Format/UnwrappedLineParser.cpp @@ -143,75 +143,6 @@ class CompoundStatementIndenter { unsigned OldLineLevel; }; -namespace { - -class IndexedTokenSource : public FormatTokenSource { -public: - IndexedTokenSource(ArrayRef<FormatToken *> Tokens) - : Tokens(Tokens), Position(-1) {} - - FormatToken *getNextToken() override { - if (Position >= 0 && isEOF()) { - LLVM_DEBUG({ - llvm::dbgs() << "Next "; - dbgToken(Position); - }); - return Tokens[Position]; - } - ++Position; - LLVM_DEBUG({ - llvm::dbgs() << "Next "; - dbgToken(Position); - }); - return Tokens[Position]; - } - - FormatToken *getPreviousToken() override { - return Position > 0 ? Tokens[Position - 1] : nullptr; - } - - FormatToken *peekNextToken(bool SkipComment) override { - int Next = Position + 1; - if (SkipComment) - while (Tokens[Next]->is(tok::comment)) - ++Next; - LLVM_DEBUG({ - llvm::dbgs() << "Peeking "; - dbgToken(Next); - }); - return Tokens[Next]; - } - - bool isEOF() override { return Tokens[Position]->is(tok::eof); } - - unsigned getPosition() override { - LLVM_DEBUG(llvm::dbgs() << "Getting Position: " << Position << "\n"); - assert(Position >= 0); - return Position; - } - - FormatToken *setPosition(unsigned P) override { - LLVM_DEBUG(llvm::dbgs() << "Setting Position: " << P << "\n"); - Position = P; - return Tokens[Position]; - } - - void reset() { Position = -1; } - -private: - void dbgToken(int Position, llvm::StringRef Indent = "") { - FormatToken *Tok = Tokens[Position]; - llvm::dbgs() << Indent << "[" << Position - << "] Token: " << Tok->Tok.getName() << " / " << Tok->TokenText - << ", Macro: " << !!Tok->MacroCtx << "\n"; - } - - ArrayRef<FormatToken *> Tokens; - int Position; -}; - -} // end anonymous namespace - UnwrappedLineParser::UnwrappedLineParser(const FormatStyle &Style, const AdditionalKeywords &Keywords, unsigned FirstStartColumn, _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits