[clang-tools-extra] [clangd] Update XRefs to support overriden ObjC methods (PR #127109)

David Goldman via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 14 10:34:16 PST 2025


================
@@ -1283,6 +1295,17 @@ std::vector<LocatedSymbol> findImplementations(ParsedAST &AST, Position Pos,
     } else if (const auto *RD = dyn_cast<CXXRecordDecl>(ND)) {
       IDs.insert(getSymbolID(RD));
       QueryKind = RelationKind::BaseOf;
+    } else if (const auto *OMD = dyn_cast<ObjCMethodDecl>(ND)) {
+      IDs.insert(getSymbolID(OMD));
+      QueryKind = RelationKind::OverriddenBy;
+
+      llvm::SmallVector<const ObjCMethodDecl *, 4> Overrides;
+      OMD->getOverriddenMethods(Overrides);
+      for (const auto *Override : Overrides)
+        IDs.insert(getSymbolID(Override));
----------------
DavidGoldman wrote:

Oops, not intentional, done.

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


More information about the cfe-commits mailing list