[clang] [libclang/python] Add strict typing to clang Python bindings (#76664) (PR #78114)

Vlad Serebrennikov via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 11 06:18:36 PDT 2024


https://github.com/Endilll commented:

Thank you for your great work!
However, I don't think this can be merged as is:
1) I have maintainability concerns about `ClangLib` protocol. From what I see, `clang_`-prefixed functions are not really intended to be a user-facing interface, and instead wrapped in Python code that has type annotations. When a new function is added to `libclang`, we won't just add a wrapper, implement it, and annotate, but also add the `clang_`-prefixed function into `ClangLib`, and basically duplicate the annotation for it.
2) I see several bugfixes that you highlighted with your comments. I believe they should be done as a separate PR, because they do something else than just add typing annotations.
3) Changes to enums are massive, and feel somewhat out of place in this PR as well.

Splitting things out would also help reviewing. Several times I found myself in a "this is indented, but which scope I'm in again? Need to scroll all the way up to find out" situation.

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


More information about the cfe-commits mailing list