[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
Mon Feb 12 16:12:31 PST 2024
================
@@ -538,11 +564,222 @@ std::optional<InvalidName> checkName(const NamedDecl &RenameDecl,
Conflict->getLocation().printToString(ASTCtx.getSourceManager())};
}
}
- if (Result)
+ if (Result) {
InvalidNameMetric.record(1, toString(Result->K));
+ return makeError(*Result);
+ }
+ return llvm::Error::success();
+}
+
+bool isSelectorLike(const syntax::Token &Cur, const syntax::Token &Next) {
+ return Cur.kind() == tok::identifier && Next.kind() == tok::colon &&
+ // We require the selector name and : to be contiguous.
+ // e.g. support `foo:` but not `foo :`.
----------------
ahoppen wrote:
Why don’t we support `foo : `? Or what am I missing here? `[bar foo : 1]` is perfectly valid AFAICT.
https://github.com/llvm/llvm-project/pull/76466
More information about the cfe-commits
mailing list