[PATCH] D37200: [AST] Traverse CXXOperatorCallExpr in LexicallyOrderedRecursiveASTVisitor

Alex Lorenz via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 28 03:55:37 PDT 2017


arphaman added inline comments.


================
Comment at: include/clang/AST/LexicallyOrderedRecursiveASTVisitor.h:69
+  template <typename T, typename U, typename R, typename... P>
+  struct has_same_member_pointer_type<R (T::*)(P...), R (U::*)(P...)>
+      : std::true_type {};
----------------
Why exactly is this template struct needed?


================
Comment at: include/clang/AST/LexicallyOrderedRecursiveASTVisitor.h:75
 
+  Derived &getDerived() { return *static_cast<Derived *>(this); }
+
----------------
I don't think you need this since `getDerived` in RecursiveASTVisitor is already public.


================
Comment at: include/clang/AST/RecursiveASTVisitor.h:3212
 #undef TRAVERSE_STMT
-#undef TRAVERSE_STMT_BASE
 
----------------
Getting rid of `undef` is not ideal. You might want to extract these macros into one .def file that's included by both RecursiveASTVisitor.h and the LexicallyOrdered one.


https://reviews.llvm.org/D37200





More information about the cfe-commits mailing list