Hi
I use these methods quite a bit while writing clang plugins for LibreOffice, and (when they work), they are incredibly useful.
Unfortunately, they have proved to be extremely crash-prone, meaning that I either surround them with overly-heaving checks to prevent hitting bad paths into clang, or I have to bypass checking various files.
As a stress test, I would suggest that a plugin that just runs these methods on every single Expr* node while compiling something interesting would very quickly flush out the problem areas.
Regards, Noel Grandin