[cfe-dev] RFC: Easier AST Matching by Default

Stephen Kelly via cfe-dev cfe-dev at lists.llvm.org
Fri Dec 20 13:01:46 PST 2019


Hi,

(Apologies if you receive this twice. GMail classified the first one as 
spam)

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.


More information about the cfe-dev mailing list