klimek added inline comments.
================ Comment at: clang/lib/ASTMatchers/ASTMatchFinder.cpp:46-49 +enum class MatchDirection { + Ancestors, + Descendants +}; ---------------- loic-joly-sonarsource wrote: > 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... > Re 2: nevermind, we don't memoize non-transitive matches (other than hasParent / hasChild), right? In that case, I'm wondering whether the simpler solution is to just not memoize hasParent / hasChild - wouldn't that be more in line with the rest of the memoization? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80025/new/ https://reviews.llvm.org/D80025 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits