[PATCH] Add support for type traversal matchers.

Samuel Benzaquen sbenza at google.com
Fri Jul 12 12:17:41 PDT 2013

Comment at: docs/tools/dump_ast_matchers.py:171
@@ +170,3 @@
+      comment_result_types = extract_result_types(comment)
+      if comment_result_types and \
+          sorted(result_types) != sorted(comment_result_types):
Manuel Klimek wrote:
> Usual python idiom is to use () instead of \ as far as I understand...

Comment at: include/clang/ASTMatchers/ASTMatchersInternal.h:1422
@@ +1421,3 @@
+  typedef typename ExtractFunctionArgMeta<ReturnTypesF>::type ReturnTypes;
Manuel Klimek wrote:
> I generally prefer public methods first. In general, I like having methods sorted from "most important for the user of the class" (right at the top) to "most implementation detail" (at the bottom).
I usually put the private members at the bottom, but in this case create() needs to be declared before Func<> because it is used as a template argument.

Comment at: include/clang/ASTMatchers/ASTMatchersInternal.h:1415
@@ +1414,3 @@
+          typename ReturnTypesF = void(AllNodeBaseTypes)>
+class TypeTraversePolymorphicMatcher {
Manuel Klimek wrote:
> The new classes here are not self-explanatory to me :) Please add comments explaining what they're useful for ...
This code was mostly moved from the macro into a standalone class.
Also merged both of these together, since they do the same thing.


More information about the cfe-commits mailing list