https://github.com/irishrover updated 
https://github.com/llvm/llvm-project/pull/179514

>From 9812414918044e9da9a8ab5011bc3b3588c1e140 Mon Sep 17 00:00:00 2001
From: Zinovy Nis <[email protected]>
Date: Tue, 3 Feb 2026 21:01:56 +0300
Subject: [PATCH] [clang-tools-extra] Apply modernize-use-string-view to the
 code

---
 clang-tools-extra/clang-doc/Generators.cpp    |  2 +-
 clang-tools-extra/clang-doc/Generators.h      |  2 +-
 .../clang-doc/tool/ClangDocMain.cpp           |  4 ++--
 .../readability/IdentifierNamingCheck.cpp     |  2 +-
 .../readability/IdentifierNamingCheck.h       |  2 +-
 clang-tools-extra/clangd/DumpAST.cpp          | 20 +++++++++----------
 clang-tools-extra/clangd/Feature.cpp          |  2 +-
 clang-tools-extra/clangd/Feature.h            |  3 ++-
 .../clangd/SymbolDocumentation.cpp            |  6 ++++--
 9 files changed, 23 insertions(+), 20 deletions(-)

diff --git a/clang-tools-extra/clang-doc/Generators.cpp 
b/clang-tools-extra/clang-doc/Generators.cpp
index fafe41eebb779..eca1f288d5ba1 100644
--- a/clang-tools-extra/clang-doc/Generators.cpp
+++ b/clang-tools-extra/clang-doc/Generators.cpp
@@ -32,7 +32,7 @@ findGeneratorByName(llvm::StringRef Format) {
 
 // Enum conversion
 
-std::string getTagType(TagTypeKind AS) {
+llvm::StringRef getTagType(TagTypeKind AS) {
   switch (AS) {
   case TagTypeKind::Class:
     return "class";
diff --git a/clang-tools-extra/clang-doc/Generators.h 
b/clang-tools-extra/clang-doc/Generators.h
index a50f1ac25eda9..ade0bb53eba7e 100644
--- a/clang-tools-extra/clang-doc/Generators.h
+++ b/clang-tools-extra/clang-doc/Generators.h
@@ -51,7 +51,7 @@ typedef llvm::Registry<Generator> GeneratorRegistry;
 llvm::Expected<std::unique_ptr<Generator>>
 findGeneratorByName(llvm::StringRef Format);
 
-std::string getTagType(TagTypeKind AS);
+llvm::StringRef getTagType(TagTypeKind AS);
 
 llvm::Error createFileOpenError(StringRef FileName, std::error_code EC);
 
diff --git a/clang-tools-extra/clang-doc/tool/ClangDocMain.cpp 
b/clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
index ee4c449718871..bc30f61264174 100644
--- a/clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
+++ b/clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
@@ -128,7 +128,7 @@ static llvm::cl::opt<OutputFormatTy>
 
 static llvm::ExitOnError ExitOnErr;
 
-static std::string getFormatString() {
+static llvm::StringRef getFormatString() {
   switch (FormatEnum) {
   case OutputFormatTy::yaml:
     return "yaml";
@@ -263,7 +263,7 @@ Example usage for a project using a compile commands 
database:
     llvm::TimeTraceScope("main");
 
     // Fail early if an invalid format was provided.
-    std::string Format = getFormatString();
+    llvm::StringRef Format = getFormatString();
     llvm::outs() << "Emiting docs in " << Format << " format.\n";
     auto G = ExitOnErr(doc::findGeneratorByName(Format));
 
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp 
b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
index e8c1e3a610fae..83fc3727cb5c8 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -634,7 +634,7 @@ std::string 
IdentifierNamingCheck::HungarianNotation::getDataTypePrefix(
   return PrefixStr;
 }
 
-std::string IdentifierNamingCheck::HungarianNotation::getClassPrefix(
+llvm::StringRef IdentifierNamingCheck::HungarianNotation::getClassPrefix(
     const CXXRecordDecl *CRD,
     const IdentifierNamingCheck::HungarianNotationOption &HNOption) const {
   if (CRD->isUnion())
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h 
b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
index 87735808dff39..b016556cc2ab8 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
@@ -116,7 +116,7 @@ class IdentifierNamingCheck final : public 
RenamerClangTidyCheck {
         StringRef TypeName, const NamedDecl *ND,
         const IdentifierNamingCheck::HungarianNotationOption &HNOption) const;
 
-    std::string getClassPrefix(
+    llvm::StringRef getClassPrefix(
         const CXXRecordDecl *CRD,
         const IdentifierNamingCheck::HungarianNotationOption &HNOption) const;
 
diff --git a/clang-tools-extra/clangd/DumpAST.cpp 
b/clang-tools-extra/clangd/DumpAST.cpp
index cd409a2b930ef..27e18680616be 100644
--- a/clang-tools-extra/clangd/DumpAST.cpp
+++ b/clang-tools-extra/clangd/DumpAST.cpp
@@ -128,7 +128,7 @@ class DumpVisitor : public RecursiveASTVisitor<DumpVisitor> 
{
       return "Qualified";
     return TL.getType()->getTypeClassName();
   }
-  std::string getKind(const TemplateArgumentLoc &TAL) {
+  llvm::StringRef getKind(const TemplateArgumentLoc &TAL) {
     switch (TAL.getArgument().getKind()) {
 #define TEMPLATE_ARGUMENT_KIND(X)                                              
\
   case TemplateArgument::X:                                                    
\
@@ -147,7 +147,7 @@ class DumpVisitor : public RecursiveASTVisitor<DumpVisitor> 
{
     }
     llvm_unreachable("Unhandled ArgKind enum");
   }
-  std::string getKind(NestedNameSpecifierLoc NNSL) {
+  llvm::StringRef getKind(NestedNameSpecifierLoc NNSL) {
     switch (NNSL.getNestedNameSpecifier().getKind()) {
     case NestedNameSpecifier::Kind::Null:
       llvm_unreachable("unexpected null nested name specifier");
@@ -162,7 +162,7 @@ class DumpVisitor : public RecursiveASTVisitor<DumpVisitor> 
{
     }
     llvm_unreachable("Unhandled SpecifierKind enum");
   }
-  std::string getKind(const CXXCtorInitializer *CCI) {
+  llvm::StringRef getKind(const CXXCtorInitializer *CCI) {
     if (CCI->isBaseInitializer())
       return "BaseInitializer";
     if (CCI->isDelegatingInitializer())
@@ -171,7 +171,7 @@ class DumpVisitor : public RecursiveASTVisitor<DumpVisitor> 
{
       return "MemberInitializer";
     llvm_unreachable("Unhandled CXXCtorInitializer type");
   }
-  std::string getKind(const TemplateName &TN) {
+  llvm::StringRef getKind(const TemplateName &TN) {
     switch (TN.getKind()) {
 #define TEMPLATE_KIND(X)                                                       
\
   case TemplateName::X:                                                        
\
@@ -189,7 +189,7 @@ class DumpVisitor : public RecursiveASTVisitor<DumpVisitor> 
{
     }
     llvm_unreachable("Unhandled NameKind enum");
   }
-  std::string getKind(const Attr *A) {
+  llvm::StringRef getKind(const Attr *A) {
     switch (A->getKind()) {
 #define ATTR(X)                                                                
\
   case attr::X:                                                                
\
@@ -204,7 +204,7 @@ class DumpVisitor : public RecursiveASTVisitor<DumpVisitor> 
{
     // To avoid special cases in the API/UI, use public/private as the kind.
     return getAccessSpelling(CBS.getAccessSpecifier()).str();
   }
-  std::string getKind(const ConceptReference *CR) {
+  llvm::StringRef getKind(const ConceptReference *CR) {
     // Again there are no variants here.
     // Kind is "Concept", role is "reference"
     return "Concept";
@@ -299,7 +299,7 @@ class DumpVisitor : public RecursiveASTVisitor<DumpVisitor> 
{
   std::string getDetail(const Attr *A) {
     return A->getAttrName() ? A->getNormalizedFullName() : A->getSpelling();
   }
-  std::string getDetail(const CXXBaseSpecifier &CBS) {
+  llvm::StringRef getDetail(const CXXBaseSpecifier &CBS) {
     return CBS.isVirtual() ? "virtual" : "";
   }
   std::string getDetail(const ConceptReference *CR) {
@@ -317,9 +317,9 @@ class DumpVisitor : public RecursiveASTVisitor<DumpVisitor> 
{
   template <typename T> std::string getArcana(const T &N) {
     return dump([&](TextNodeDumper &D) { D.Visit(N); });
   }
-  std::string getArcana(const NestedNameSpecifierLoc &NNS) { return ""; }
-  std::string getArcana(const TemplateName &NNS) { return ""; }
-  std::string getArcana(const CXXBaseSpecifier &CBS) { return ""; }
+  llvm::StringRef getArcana(const NestedNameSpecifierLoc &NNS) { return ""; }
+  llvm::StringRef getArcana(const TemplateName &NNS) { return ""; }
+  llvm::StringRef getArcana(const CXXBaseSpecifier &CBS) { return ""; }
   std::string getArcana(const TemplateArgumentLoc &TAL) {
     return dump([&](TextNodeDumper &D) {
       D.Visit(TAL.getArgument(), TAL.getSourceRange());
diff --git a/clang-tools-extra/clangd/Feature.cpp 
b/clang-tools-extra/clangd/Feature.cpp
index ec707a33f656b..fbae381911b89 100644
--- a/clang-tools-extra/clangd/Feature.cpp
+++ b/clang-tools-extra/clangd/Feature.cpp
@@ -30,7 +30,7 @@ std::string platformString() {
   return PlatformString;
 }
 
-std::string featureString() {
+llvm::StringRef featureString() {
   return
 #if defined(_WIN32)
       "windows"
diff --git a/clang-tools-extra/clangd/Feature.h 
b/clang-tools-extra/clangd/Feature.h
index ba958fc49c020..7705a6b83a7d3 100644
--- a/clang-tools-extra/clangd/Feature.h
+++ b/clang-tools-extra/clangd/Feature.h
@@ -11,6 +11,7 @@
 
 #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_FEATURE_H
 #define LLVM_CLANG_TOOLS_EXTRA_CLANGD_FEATURE_H
+#include "llvm/ADT/StringRef.h"
 #include <string>
 
 // Export constants like CLANGD_BUILD_XPC
@@ -28,7 +29,7 @@ std::string platformString();
 
 // Returns a string describing the compile-time configuration.
 // e.g. mac+debug+asan+grpc
-std::string featureString();
+llvm::StringRef featureString();
 
 } // namespace clangd
 } // namespace clang
diff --git a/clang-tools-extra/clangd/SymbolDocumentation.cpp 
b/clang-tools-extra/clangd/SymbolDocumentation.cpp
index a50d7a565b1bc..928b287fd7647 100644
--- a/clang-tools-extra/clangd/SymbolDocumentation.cpp
+++ b/clang-tools-extra/clangd/SymbolDocumentation.cpp
@@ -15,12 +15,14 @@
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/Twine.h"
 
 namespace clang {
 namespace clangd {
 namespace {
 
-std::string commandMarkerAsString(comments::CommandMarkerKind CommandMarker) {
+llvm::StringRef
+commandMarkerAsString(comments::CommandMarkerKind CommandMarker) {
   switch (CommandMarker) {
   case comments::CommandMarkerKind::CMK_At:
     return "@";
@@ -33,7 +35,7 @@ std::string commandMarkerAsString(comments::CommandMarkerKind 
CommandMarker) {
 void commandToMarkup(markup::Paragraph &Out, StringRef Command,
                      comments::CommandMarkerKind CommandMarker,
                      StringRef Args) {
-  Out.appendBoldText(commandMarkerAsString(CommandMarker) + Command.str());
+  Out.appendBoldText(((commandMarkerAsString(CommandMarker)) + Command).str());
   Out.appendSpace();
   if (!Args.empty())
     Out.appendCode(Args.str());

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to