Required for capturing base specifier in matchers:
`cxxRecordDecl(hasDirectBase(cxxBaseSpecifier().bind("base")))`| Paths 
 |  Differential  D69218  
[ASTMatchers] Add `cxxBaseSpecifier` matcher (non-top-level) ClosedPublic Authored by nick on Oct 19 2019, 1:59 PM. 
Details Summary Required for capturing base specifier in matchers: `cxxRecordDecl(hasDirectBase(cxxBaseSpecifier().bind("base")))`
Diff Detail Event TimelineComment Actions Needs more tests - what happens with multiple inheritance, what about inheriting from inherited? nick retitled this revision from [clang][AST] Add `CXXBaseSpecifier` matcher support to [ASTMatchers] Add `cxxBaseSpecifier` matcher (non-top-level).Comment Actions 
 
 This revision is now accepted and ready to land.Mar 21 2021, 6:48 AM njames93 added inline comments. 
 This revision now requires changes to proceed.Mar 21 2021, 4:38 PM 
 
 Comment Actions Comment Actions 
 I had a PR in Boost that took 4 years to merge, so it is nothing new to me :D Rebased, even though there was no conflicts. 
 Comment Actions 
 Yes, I'm a few years trying to get https://steveire.wordpress.com/2019/04/30/the-future-of-ast-matching-refactoring-tools-eurollvm-and-accu/ merged, but I've made some progress :D. 
 I think arc patch might be a bit fickle, so it wasn't applying cleanly for me before. This LGTM and there have been no further objections, and the objection from @njames93 seems to be addressed. What name/email should I use for the commit? 
 Comment Actions 
 Nikita Kniazev <kniazev.nikita -at- gmail.com> This revision was landed with ongoing or failed builds. Closed by commit rG2f181086b5cb: [ASTMatchers] Add `cxxBaseSpecifier` matcher (non-top-level) (authored by nick, committed by • stephenkelly).  ·  Explain Why This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
Diff 332151 clang/docs/LibASTMatchersReference.html
 
 clang/include/clang/ASTMatchers/ASTMatchers.h
 clang/lib/ASTMatchers/ASTMatchersInternal.cpp
 clang/lib/ASTMatchers/Dynamic/Registry.cpp
 clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
 clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
 clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I don't think the change to this matcher is warranted.
The hasType matcher that accepts a DeclarationMatcher already has support for cxxBaseSpecifier.
However overloading the matcher that takes a QualType matcher doesn't make sense as base specifiers have no qualifications.