[clang] [libclang] Add API to query more information about base classes. (PR #120300)
Jannick Kremer via cfe-commits
cfe-commits at lists.llvm.org
Fri Dec 20 12:37:20 PST 2024
================
@@ -2663,6 +2671,21 @@ def visitor(field, children):
conf.lib.clang_Type_visitFields(self, fields_visit_callback(visitor), fields)
return iter(fields)
+ def get_bases(self):
+ """Return an iterator for accessing the base classes of this type."""
+
+ def visitor(field, children):
+ assert field != conf.lib.clang_getNullCursor()
+
+ # Create reference to TU so it isn't GC'd before Cursor.
+ field._tu = self._tu
+ fields.append(field)
+ return 1 # continue
+
+ fields: list[Cursor] = []
+ conf.lib.clang_visitCXXBaseClasses(self, fields_visit_callback(visitor), fields)
----------------
DeinAlptraum wrote:
Hm something like `base_visit_callback`?
But I also just noticed that the paramter in `clang_visitCXXBaseClasses` is of type `CXFieldVisitor`, so I guess the current name is fair after all... up to you I would say!
https://github.com/llvm/llvm-project/pull/120300
More information about the cfe-commits
mailing list