================ @@ -149,6 +276,93 @@ class TextTokenRetokenizer { addToken(); } + /// Extract a type argument + bool lexType(Token &Tok) { + if (isEnd()) + return false; + Position SavedPos = Pos; + consumeWhitespace(); + SmallString<32> NextToken; + SmallString<32> WordText; + const char *WordBegin = Pos.BufferPtr; + SourceLocation Loc = getSourceLocation(); + StringRef ConstVal = StringRef("const"); + StringRef PointerVal = StringRef("*"); + StringRef ReferenceVal = StringRef("&"); + bool ConstPointer = false; + + while (!isEnd()) { + const char C = peek(); + if (!isWhitespace(C)) { + if (C == '<') { + if (!lexTemplate(WordText)) + return false; + } else { + WordText.push_back(C); ---------------- sdkrystian wrote:
Does this treat any non-whitespace character (other than `<`) as being part of a name? https://github.com/llvm/llvm-project/pull/84726 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits