[PATCH] D80025: [ASTMatcher] Correct memoization bug ignoring direction (descendants or ancestors)

Loïc Joly via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon May 18 14:06:07 PDT 2020


loic-joly-sonarsource added a comment.

In D80025#2041247 <https://reviews.llvm.org/D80025#2041247>, @njames93 wrote:

> This needs rebasing against trunk


I'm doing it



================
Comment at: clang/lib/ASTMatchers/ASTMatchFinder.cpp:46-49
+enum class MatchDirection {
+  Ancestors,
+  Descendants
+};
----------------
klimek wrote:
> Nice find! Why don't we need more states though?
> 1. wouldn't hasParent() followed by a hasAncestor() also trigger the memoization? (if so, we'd need transitive / non-transitive)
> 2. can we trigger a directional match and a non-directional (non-traversal, for example, explicit) match in the same memoization scope?
1. Yes, I'm going to add it
2. Sorry, I did not understand what you mean...



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

https://reviews.llvm.org/D80025





More information about the cfe-commits mailing list