diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2020-01-28 20:23:46 +0100 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2020-01-28 23:25:25 +0100 |
commit | adcd02683856c30ba6f349279509acecd90063df (patch) | |
tree | 7b5927ef2ecab1618842183fac5ebe848f5832dd /clang-tools-extra/clang-change-namespace | |
parent | 5eaf44f99f0a0a3bdfa892892b8aaca841c8dbe0 (diff) | |
download | llvm-adcd02683856c30ba6f349279509acecd90063df.tar.gz |
Make llvm::StringRef to std::string conversions explicit.
This is how it should've been and brings it more in line with
std::string_view. There should be no functional change here.
This is mostly mechanical from a custom clang-tidy check, with a lot of
manual fixups. It uncovers a lot of minor inefficiencies.
This doesn't actually modify StringRef yet, I'll do that in a follow-up.
Diffstat (limited to 'clang-tools-extra/clang-change-namespace')
-rw-r--r-- | clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp | 18 | ||||
-rw-r--r-- | clang-tools-extra/clang-change-namespace/tool/ClangChangeNamespace.cpp | 2 |
2 files changed, 10 insertions, 10 deletions
diff --git a/clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp b/clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp index e80ba52ce0f8..a25e3e5bcd00 100644 --- a/clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp +++ b/clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp @@ -23,7 +23,7 @@ inline std::string joinNamespaces(const llvm::SmallVectorImpl<StringRef> &Namespaces) { if (Namespaces.empty()) return ""; - std::string Result = Namespaces.front(); + std::string Result(Namespaces.front()); for (auto I = Namespaces.begin() + 1, E = Namespaces.end(); I != E; ++I) Result += ("::" + *I).str(); return Result; @@ -184,7 +184,7 @@ void addReplacementOrDie( const SourceManager &SM, std::map<std::string, tooling::Replacements> *FileToReplacements) { const auto R = createReplacement(Start, End, ReplacementText, SM); - auto Err = (*FileToReplacements)[R.getFilePath()].add(R); + auto Err = (*FileToReplacements)[std::string(R.getFilePath())].add(R); if (Err) llvm_unreachable(llvm::toString(std::move(Err)).c_str()); } @@ -213,18 +213,18 @@ std::string getShortestQualifiedNameInNamespace(llvm::StringRef DeclName, DeclName = DeclName.ltrim(':'); NsName = NsName.ltrim(':'); if (DeclName.find(':') == llvm::StringRef::npos) - return DeclName; + return std::string(DeclName); auto NsNameSplitted = splitSymbolName(NsName); auto DeclNsSplitted = splitSymbolName(DeclName); llvm::StringRef UnqualifiedDeclName = DeclNsSplitted.pop_back_val(); // If the Decl is in global namespace, there is no need to shorten it. if (DeclNsSplitted.empty()) - return UnqualifiedDeclName; + return std::string(UnqualifiedDeclName); // If NsName is the global namespace, we can simply use the DeclName sans // leading "::". if (NsNameSplitted.empty()) - return DeclName; + return std::string(DeclName); if (NsNameSplitted.front() != DeclNsSplitted.front()) { // The DeclName must be fully-qualified, but we still need to decide if a @@ -233,7 +233,7 @@ std::string getShortestQualifiedNameInNamespace(llvm::StringRef DeclName, // to avoid conflict. if (llvm::is_contained(NsNameSplitted, DeclNsSplitted.front())) return ("::" + DeclName).str(); - return DeclName; + return std::string(DeclName); } // Since there is already an overlap namespace, we know that `DeclName` can be // shortened, so we reduce the longest common prefix. @@ -711,7 +711,7 @@ void ChangeNamespaceTool::moveOldNamespace( MoveNs.InsertionOffset = SM.getFileOffset(SM.getSpellingLoc(InsertionLoc)); MoveNs.FID = SM.getFileID(Start); MoveNs.SourceMgr = Result.SourceManager; - MoveNamespaces[SM.getFilename(Start)].push_back(MoveNs); + MoveNamespaces[std::string(SM.getFilename(Start))].push_back(MoveNs); } // Removes a class forward declaration from the code in the moved namespace and @@ -762,7 +762,7 @@ void ChangeNamespaceTool::moveClassForwardDeclaration( InsertForwardDeclaration InsertFwd; InsertFwd.InsertionOffset = Insertion.getOffset(); InsertFwd.ForwardDeclText = Insertion.getReplacementText().str(); - InsertFwdDecls[Insertion.getFilePath()].push_back(InsertFwd); + InsertFwdDecls[std::string(Insertion.getFilePath())].push_back(InsertFwd); } // Replaces a qualified symbol (in \p DeclCtx) that refers to a declaration \p @@ -816,7 +816,7 @@ void ChangeNamespaceTool::replaceQualifiedSymbolInDeclContext( ->getQualifiedNameAsString())) { FromDeclNameRef = FromDeclNameRef.drop_front(2); if (FromDeclNameRef.size() < ReplaceName.size()) - ReplaceName = FromDeclNameRef; + ReplaceName = std::string(FromDeclNameRef); } } // Checks if there is any namespace alias declarations that can shorten the diff --git a/clang-tools-extra/clang-change-namespace/tool/ClangChangeNamespace.cpp b/clang-tools-extra/clang-change-namespace/tool/ClangChangeNamespace.cpp index a97be99b0bd8..d54fe7347cf3 100644 --- a/clang-tools-extra/clang-change-namespace/tool/ClangChangeNamespace.cpp +++ b/clang-tools-extra/clang-change-namespace/tool/ClangChangeNamespace.cpp @@ -91,7 +91,7 @@ llvm::ErrorOr<std::vector<std::string>> GetWhiteListedSymbolPatterns() { llvm::StringRef Content = File.get()->getBuffer(); Content.split(Lines, '\n', /*MaxSplit=*/-1, /*KeepEmpty=*/false); for (auto Line : Lines) - Patterns.push_back(Line.trim()); + Patterns.push_back(std::string(Line.trim())); return Patterns; } |