[clang-tools-extra] Symbol tags in SymbolInformation, WorkspaceSymbol, CallHierarchyItem and TypeHierarchyItem (PR #170103)

via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 25 05:33:13 PDT 2026


================
@@ -159,6 +172,45 @@ SymbolTags toSymbolTagBitmask(const SymbolTag ST) {
   return (1 << static_cast<unsigned>(ST));
 }
 
+bool isOverrides(const NamedDecl *ND) {
+  if (const auto *MD = llvm::dyn_cast<CXXMethodDecl>(ND)) {
+    // A method "overrides" if:
+    // 1. It overrides at least one method
+    // 2. At least one of the overridden methods is virtual (but NOT pure
+    // virtual)
+
+    if (MD->size_overridden_methods() == 0)
+      return false;
+
+    for (const auto Overridden : MD->overridden_methods()) {
----------------
timon-ul wrote:

If you aren't yet, I recommend you use clangd to get early clang-tidy feedback on your code ;) , this should be `const auto *Overridden`.

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


More information about the cfe-commits mailing list