[clang] [clang][Python] Apply type annotations to Python (PR #173845)
Vlad Serebrennikov via cfe-commits
cfe-commits at lists.llvm.org
Mon Jan 12 04:45:31 PST 2026
================
@@ -311,36 +320,36 @@ def from_offset(tu, file, offset):
return conf.lib.clang_getLocationForOffset(tu, file, offset) # type: ignore [no-any-return]
@property
- def file(self):
+ def file(self) -> File | None:
"""Get the file represented by this source location."""
return self._get_instantiation()[0]
@property
- def line(self):
+ def line(self) -> int:
"""Get the line represented by this source location."""
return self._get_instantiation()[1]
@property
- def column(self):
+ def column(self) -> int:
"""Get the column represented by this source location."""
return self._get_instantiation()[2]
@property
- def offset(self):
+ def offset(self) -> int:
"""Get the file offset represented by this source location."""
return self._get_instantiation()[3]
@property
- def is_in_system_header(self):
+ def is_in_system_header(self) -> bool:
"""Returns true if the given source location is in a system header."""
return bool(conf.lib.clang_Location_isInSystemHeader(self))
- def __eq__(self, other):
+ def __eq__(self, other: object) -> bool:
----------------
Endilll wrote:
Annotating anything as `object` doesn't convey any information and is probably actively harmful here, because `SourceLocation` is not equality comparable to everything, even if we applied some defensive programming here.
@DeinAlptraum should we throw `ValueError` if `isinstance` check fails?
https://github.com/llvm/llvm-project/pull/173845
More information about the cfe-commits
mailing list