[clang] [libclang/python] Add typing annotations for the Cursor class (PR #138103)

Jannick Kremer via cfe-commits cfe-commits at lists.llvm.org
Tue May 13 01:28:49 PDT 2025


================
@@ -1821,45 +1824,45 @@ def mangled_name(self):
         return self._mangled_name
 
     @property
-    def location(self):
+    def location(self) -> SourceLocation:
         """
         Return the source location (the starting character) of the entity
         pointed at by the cursor.
         """
         if not hasattr(self, "_loc"):
-            self._loc = conf.lib.clang_getCursorLocation(self)
+            self._loc: SourceLocation = conf.lib.clang_getCursorLocation(self)
 
         return self._loc
 
     @property
-    def linkage(self):
+    def linkage(self) -> LinkageKind:
         """Return the linkage of this cursor."""
         if not hasattr(self, "_linkage"):
             self._linkage = conf.lib.clang_getCursorLinkage(self)
----------------
DeinAlptraum wrote:

Sounds good, I'll open a PR for this one of these days.
Adding a test for completeness of `FUNCTION_LIST` should be easy in principle, just the fact that `clang_getCursorTLSKind` seems to be callable despite not being among the library object's attributes is concerning... I will look into it.

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


More information about the cfe-commits mailing list