[PATCH] D56444: [AST] RecursiveASTVisitor visits lambda classes when implicit visitation is on.

Sam McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 9 07:13:31 PST 2019


sammccall added a comment.

In D56444#1351128 <https://reviews.llvm.org/D56444#1351128>, @aaron.ballman wrote:

> In D56444#1351127 <https://reviews.llvm.org/D56444#1351127>, @steveire wrote:
>
> > I suggest not trying to make any such drastic changes for 8.0, try to fix the bug in a minimal way if possible, and have a more considered approach to the future of AST Matchers for after the release.
>
>
> +1


Can you elaborate?

This patch is an attempt to solve the problem "some nodes associated with lambdas have no parents".
This manifests as assertion failures (or with assertions off, incorrect results) for some matchers, on some code - people have encountered several examples where this happens, it's hard to know where to target a more targeted fix.
The invariant violated is "RAV traverses every AST node (when implicit traversal is enabled)" - is there a way to fix this issue sufficiently without addressing that?

Is the suggestion to make that change, but then modify the semantics of the `functionDecl()` etc matchers to hide it? Or something else?


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56444/new/

https://reviews.llvm.org/D56444





More information about the cfe-commits mailing list