Hi,
Aaron Ballman and I met by chance in Belfast and we discussed a way forward towards making AST Matchers easier to use, particularly for C++ developers who are not familiar with the details of the Clang AST.
For those unaware, I expanded on this in the EuroLLVM conference this year, and then expanded on it at ACCU:
https://steveire.wordpress.com/2019/04/30/the-future-of-ast-matching
One step in the process of getting there is changing the default behavior of AST Matchers to ignore invisible nodes while matching using the C++ API, and while matching and dumping AST nodes in clang-query.
I think this is the most important change in the entire proposal as it sets out the intention of making the AST Matchers easier to use for C++ developers who are not already familiar with Clang APIs.
To that end, I've written an AST to motivate the change:
https://docs.google.com/document/d/17Z6gAwwc3HoRXvsy0OdwU0X5MFQEuiGeSu3i6ICOB90
We're looking for feedback before pressing forward with the change. I already have some patches written to port clang-tidy and unit tests to account for the change of default.
Thanks,
Stephen.