Migrate away from libclang and use libtooling instead
Open
enhancement
- Dominant language
- C++
- Stars
- 1.8k
- Forks
- 200
- Avg merge
- 12d 2h
- Merged PRs (30d)
- 1
Description
Clang's libtooling is the preferred way to access the C++ AST and is much more precise than libclang, which we currently use. libclang deals poorly with macros and has an additional abstraction for source code regions that is convenient, but buggy. On top of this, the LLVM team said that libclang's deficiencies are unlikely to be fixed because fixing them would break the API.
Since libtooling is C++, the generator should also be implemented in C++.
Contributor guide
Assessment
This issue has not been assessed yet.