aaron.ballman added inline comments.

================
Comment at: include/clang/ASTMatchers/ASTMatchers.h:718
+template <typename T>
+internal::Matcher<T> traverse(ast_type_traits::TraversalKind TK,
+                              const internal::Matcher<T> &InnerMatcher) {
----------------
steveire wrote:
> aaron.ballman wrote:
> > steveire wrote:
> > > aaron.ballman wrote:
> > > > Is this an API we should be exposing to clang-query as well? Will those 
> > > > users be able to use a string literal for the traversal kind, like they 
> > > > already do for attribute kinds (etc)?
> > > Yes, I thought about that, but in a follow-up patch. First, I aim to 
> > > extend the `TraversalKind` enum with `TK_IgnoreInvisble`.
> > This is new functionality, so why do you want to wait for a follow-up patch 
> > (is it somehow more involved)? We typically add support for dynamic 
> > matchers at the same time we add support for the static matchers because 
> > otherwise the two get frustratingly out of sync.
> Perhaps I can add the support in DynamicASTMatchers. Can you give some 
> direction on that? I don't recall where the attr strings are handled.
> 
> A corresponding change to `clang-query` will be in another patch anyway 
> because it's a different repo.
> Perhaps I can add the support in DynamicASTMatchers. Can you give some 
> direction on that? I don't recall where the attr strings are handled.

I always wind up having to use svn blame to figure it out, so you're not alone 
in your recollections. ;-) You add a new specialization of `ArgTypeTraits` to 
Marshallers.h for the enumeration type. See around line 123 or so for how it's 
done for `attr::Kind`.

> A corresponding change to clang-query will be in another patch anyway because 
> it's a different repo.

Once you have the enumeration being marshaled, I believe all you have to do is 
expose the new API via Registry.cpp like any other matcher, though I'd also 
request tests be added to Dynamic/RegistryTest.cpp since this is adding a small 
amount of new marshaling code.


Repository:
  rC Clang

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

https://reviews.llvm.org/D61837



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to