[clang-tools-extra] Add support for renaming objc methods, even those with multiple selector pieces (PR #76466)

Alex Hoppen via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 2 09:57:13 PST 2024


================
@@ -681,12 +957,22 @@ renameOutsideFile(const NamedDecl &RenameDecl, llvm::StringRef MainFilePath,
            ExpBuffer.getError().message());
       continue;
     }
+    std::string RenameIdentifier = RenameDecl.getNameAsString();
+    std::optional<Selector> Selector = std::nullopt;
+    llvm::SmallVector<llvm::StringRef, 8> NewNames;
+    if (const auto *MD = dyn_cast<ObjCMethodDecl>(&RenameDecl)) {
----------------
ahoppen wrote:

A high-level comment. Instead of dealing with a vector of `StringRef` for `NewNames`, I think we should use `SymbolName`. It is already designed to be able to represent Objective-C selectors and that way you could do the name splitting in `SymbolName`.

https://github.com/llvm/llvm-project/pull/76466


More information about the cfe-commits mailing list