aaron.ballman added inline comments.
================ Comment at: clang/include/clang/ASTMatchers/ASTMatchers.h:6361-6362 +/// \endcode +/// qualifiedTypeLoc(hasUnqualifiedLoc(pointerTypeLoc())) +/// matches the `TypeLoc` of the variable declaration of `x`, but not `y`. +AST_MATCHER_P(QualifiedTypeLoc, hasUnqualifiedLoc, TypeLocMatcher, ---------------- I'm trying to reason my way through this. You want to match a qualified type location and `int * const` matches that. Then you want it to match an unqualified type loc and `int` matches that. Then it should be a pointer type... but `int` does not match that. So I wouldn't expect `x` to be matched. What have I misunderstood? ================ Comment at: clang/include/clang/ASTMatchers/ASTMatchers.h:6406-6414 +/// Matches reference `TypeLoc`s. +/// +/// Given +/// \code +/// int x = 3; +/// int& xx = x; +/// \endcode ---------------- I'd appreciate more documentation on whether this is expected to match both lvalue and rvalue references. I suppose there's a secondary question of whether this matches member functions too: ``` struct S { void func() &; // Can this match this as a reference type loc? }; ``` ================ Comment at: clang/include/clang/ASTMatchers/ASTMatchers.h:6469-6487 +inline bool +MatchTemplateArgLocAt(const DeclRefExpr &Node, unsigned int Index, + internal::Matcher<TemplateArgumentLoc> InnerMatcher, + internal::ASTMatchFinder *Finder, + internal::BoundNodesTreeBuilder *Builder) { + llvm::ArrayRef<TemplateArgumentLoc> ArgLocs = Node.template_arguments(); + return Index < ArgLocs.size() && ---------------- Should these live in ASTMatchersInternal.h? ================ Comment at: clang/include/clang/ASTMatchers/ASTMatchers.h:6510-6520 +/// Matches elaborated `TypeLoc`s. +/// +/// Given +/// \code +/// class C {}; +/// class C c; +/// \endcode ---------------- It'd be helpful to document how this behaves in C where the tag needs to be used (unlike in C++ where the tag can be elided unless you want an elaborated type). Same below. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111242/new/ https://reviews.llvm.org/D111242 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits