[clang] [libclang/python] Add type annotations to the TranslationUnit class (PR #180876)

Jannick Kremer via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 18 05:56:45 PST 2026


================
@@ -103,9 +103,14 @@
 
 if TYPE_CHECKING:
     from ctypes import _Pointer
+    from io import TextIOWrapper
     from typing_extensions import Protocol, TypeAlias
 
     StrPath: TypeAlias = TUnion[str, os.PathLike[str]]
+    # The type that is compatible with os.fspath:
+    # str, bytes, or os.PathLikes that return either of these two
+    StrBytesPath: TypeAlias = TUnion[str, bytes, os.PathLike[str], os.PathLike[bytes]]
+    InMemoryFile: TypeAlias = "tuple[StrBytesPath, TUnion[str, bytes, TextIOWrapper]]"
----------------
DeinAlptraum wrote:

Since our Python version is too old, `tuple` is not yet subscriptable for type annotations. Leaving out the quotes results in a type error

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


More information about the cfe-commits mailing list