Hi all,
I have a proposal for a framework that makes it easier to write source to source transformations with the clang::Tooling libraries, including clang-tidy checks.
The full proposal is in this doc:
https://docs.google.com/document/d/1ppw0RhjwsrbBcHYhI85pe6ISDbA6r5d00ot3N8cQWeQ/edit?usp=sharing
From the doc:
Transformer is a framework that aims to simplify development of clang-based source-to-source transformations. It focuses on the particular class of transformations that act only locally — that is, use local information about the code and make local changes (like a syntax-aware “find-and-replace”); and at scale — that is, will be carried out on many source files. The target audience is users that are comfortable with, or willing to become comfortable with, the clang AST matchers library.
I have a working prototype of this library which I’ve used on small examples inside Google. I plan to put together a patch for reference next week, although the doc should stand on its own.
Thanks!
Yitzhak Mandelbaum