reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  390     cxxRecordDecl;

References

tools/clang/include/clang/ASTMatchers/ASTMatchers.h
 5275   auto IsInstantiation = decl(anyOf(cxxRecordDecl(isTemplateInstantiation()),
 5296       hasAncestor(decl(anyOf(cxxRecordDecl(isTemplateInstantiation()),
tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp
  186   REGISTER_MATCHER(cxxRecordDecl);
tools/clang/lib/Analysis/ExprMutationAnalyzer.cpp
   69   return cxxRecordDecl(
tools/clang/lib/Analysis/RetainSummaryManager.cpp
  143   DeclarationMatcher SubclassM = cxxRecordDecl(isSameOrDerivedFrom(ClassName));
tools/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp
  214                         cxxRecordDecl(hasName("OSBoolean")),
  215                         cxxRecordDecl(hasName("OSNumber"))
tools/clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp
   70   auto OSObjTypeM = hasTypePointingTo(cxxRecordDecl(isDerivedFrom("OSMetaClassBase")));
   72     cxxRecordDecl(isDerivedFrom("OSObject")));
tools/clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp
   83                                 hasType(cxxRecordDecl(has(
tools/clang/tools/extra/clang-change-namespace/ChangeNamespace.cpp
  416   Finder->addMatcher(cxxRecordDecl(unless(anyOf(isImplicit(), isDefinition())),
  423       classTemplateDecl(unless(hasDescendant(cxxRecordDecl(isDefinition()))),
  435           hasAncestor(cxxRecordDecl()),
  436           allOf(IsInMovedNs, unless(cxxRecordDecl(unless(isDefinition())))))));
  442       usingDecl(hasAnyUsingShadowDecl(decl()), hasParent(cxxRecordDecl()));
  505                                 hasAncestor(cxxRecordDecl()))),
  525       unless(anyOf(isScoped(), IsInMovedNs, hasAncestor(cxxRecordDecl()),
tools/clang/tools/extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp
  119       decl(anyOf(cxxRecordDecl(isExplicitTemplateSpecialization()),
  161   auto CXXRecords = cxxRecordDecl(CommonFilter, CCMatcher, isDefinition());
tools/clang/tools/extra/clang-move/Move.cpp
  505       classTemplateDecl(unless(has(cxxRecordDecl(isDefinition()))));
  507       anyOf(cxxRecordDecl(unless(anyOf(isImplicit(), isDefinition()))),
  568       hasOutermostEnclosingClass(cxxRecordDecl(*HasAnySymbolNames));
  587       cxxRecordDecl(notInMacro(), NotInMovedClass, InAnonymousNS);
  615   auto MovedClass = cxxRecordDecl(InOldFiles, *HasAnySymbolNames,
tools/clang/tools/extra/clang-tidy/abseil/DurationDivisionCheck.cpp
   24       expr(hasType(cxxRecordDecl(hasName("::absl::Duration"))));
tools/clang/tools/extra/clang-tidy/abseil/StrCatAppendCheck.cpp
   51       argumentCountIs(1), hasType(cxxRecordDecl(hasName("::absl::AlphaNum"))),
tools/clang/tools/extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
   36   auto StringClassMatcher = cxxRecordDecl(hasAnyName(SmallVector<StringRef, 4>(
tools/clang/tools/extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp
   38               0, expr(hasType(cxxRecordDecl(hasName("::absl::Duration"))))),
   52               ofClass(cxxRecordDecl(hasName("::absl::Duration"))),
   70                                   cxxRecordDecl(hasName("::absl::Duration"))))),
   84                                   cxxRecordDecl(hasName("::absl::Duration"))))))
tools/clang/tools/extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
   30             cxxMemberCallExpr(hasType(cxxRecordDecl(IsAHandle)),
   97       IsAHandle(cxxRecordDecl(hasAnyName(std::vector<StringRef>(
  112                   recordType(hasDeclaration(cxxRecordDecl(IsAHandle))))),
  122               recordType(hasDeclaration(cxxRecordDecl(IsAHandle))))),
tools/clang/tools/extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
   31       decl(anyOf(cxxRecordDecl(isExplicitTemplateSpecialization()),
   34       cxxRecordDecl(
   36           unless(isImplicit()), unless(hasAncestor(cxxRecordDecl())),
tools/clang/tools/extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
  560       hasDeclaration(cxxRecordDecl(hasName("::std::basic_string"))))));
tools/clang/tools/extra/clang-tidy/bugprone/SizeofContainerCheck.cpp
   23                     expr(hasType(hasCanonicalType(hasDeclaration(cxxRecordDecl(
tools/clang/tools/extra/clang-tidy/bugprone/ThrowKeywordMissingCheck.cpp
   29            hasType(cxxRecordDecl(
tools/clang/tools/extra/clang-tidy/bugprone/UndefinedMemoryManipulationCheck.cpp
   29           pointsTo(cxxRecordDecl(isNotTriviallyCopyable()))));
tools/clang/tools/extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp
   65               cxxConstructorDecl(ofClass(cxxRecordDecl().bind("parent")))),
   68                                    cxxRecordDecl(baseOfBoundNode("parent"))))))
tools/clang/tools/extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp
   54       ofClass(cxxRecordDecl(unless(hasAncestor(classTemplateDecl())))),
   62       ofClass(cxxRecordDecl(hasAncestor(classTemplateDecl()))),
   64                 varDecl(hasType(cxxRecordDecl(equalsBoundNode("class"))),
   67                 hasType(cxxRecordDecl(equalsBoundNode("class")))))))));
   89     AdditionalMatcher = cxxMethodDecl(ofClass(cxxRecordDecl(
   94   Finder->addMatcher(cxxMethodDecl(ofClass(cxxRecordDecl().bind("class")),
tools/clang/tools/extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
   41                        hasType(cxxRecordDecl(hasNonTrivialDestructor())),
tools/clang/tools/extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
  275       recordType(hasDeclaration(cxxRecordDecl(hasAnyName(
  283       recordType(hasDeclaration(cxxRecordDecl(hasAnyName(
tools/clang/tools/extra/clang-tidy/cert/DontModifyStdNamespaceCheck.cpp
   28                         cxxRecordDecl(isExplicitTemplateSpecialization()))))))
tools/clang/tools/extra/clang-tidy/cert/ProperlySeededRandomGeneratorCheck.cpp
   34   auto RandomGeneratorEngineDecl = cxxRecordDecl(hasAnyName(
tools/clang/tools/extra/clang-tidy/cert/StaticObjectExceptionCheck.cpp
   28               unless(anyOf(isConstexpr(), hasType(cxxRecordDecl(isLambda())),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
  121   Finder->addMatcher(cxxRecordDecl(HasConstructorInitializerForOwner), this);
  169       cxxRecordDecl(
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
   60               0, hasType(cxxRecordDecl(hasName("::std::array")).bind("type"))),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
  265       hasParent(cxxRecordDecl(unless(isTriviallyDefaultConstructible()))));
  276       cxxRecordDecl(
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp
   38   const auto OfBaseClass = ofClass(cxxRecordDecl().bind("BaseDecl"));
   40       cxxRecordDecl(isDerivedFrom(equalsBoundNode("BaseDecl")))
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
   40       cxxRecordDecl(
tools/clang/tools/extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
   97       cxxRecordDecl(allOf(hasBases(), isDefinition())).bind("decl"), this);
tools/clang/tools/extra/clang-tidy/fuchsia/TrailingReturnCheck.cpp
   38                                 hasParent(cxxRecordDecl(isLambda())))))
tools/clang/tools/extra/clang-tidy/fuchsia/VirtualInheritanceCheck.cpp
   31   Finder->addMatcher(cxxRecordDecl(hasDirectVirtualBaseClass()).bind("decl"),
tools/clang/tools/extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
  148                       cxxRecordDecl(isSameOrDerivedFrom(cxxRecordDecl(
  148                       cxxRecordDecl(isSameOrDerivedFrom(cxxRecordDecl(
  155                       cxxRecordDecl(isSameOrDerivedFrom(cxxRecordDecl(
  155                       cxxRecordDecl(isSameOrDerivedFrom(cxxRecordDecl(
  161                   ofClass(cxxRecordDecl(
  162                               isSameOrDerivedFrom(cxxRecordDecl(
  170                   ofClass(cxxRecordDecl(
  171                               isSameOrDerivedFrom(cxxRecordDecl(
  245   return !match(cxxRecordDecl(
tools/clang/tools/extra/clang-tidy/hicpp/ExceptionBaseclassCheck.cpp
   28               hasType(qualType(hasCanonicalType(hasDeclaration(cxxRecordDecl(
tools/clang/tools/extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp
   21       cxxRecordDecl(hasName("::llvm::Register")).bind("registerClassDecl"));
tools/clang/tools/extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.cpp
   31   return cxxRecordDecl(has(fieldDecl(unless(isPublic()))))
   72   Finder->addMatcher(cxxRecordDecl(anyOf(isStruct(), isClass()), hasMethods(),
tools/clang/tools/extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp
   30                             ofClass(cxxRecordDecl(hasName("::std::unique_ptr"),
   37                   ofClass(cxxRecordDecl(hasName("::std::unique_ptr"),
tools/clang/tools/extra/clang-tidy/modernize/LoopConvertCheck.cpp
  168           recordType(hasDeclaration(cxxRecordDecl(hasMethod(cxxMethodDecl(
  251           hasUnqualifiedDesugaredType(recordType(hasDeclaration(cxxRecordDecl(
  258                    cxxRecordDecl(hasMethod(hasName("begin")),
tools/clang/tools/extra/clang-tidy/modernize/PassByValueCheck.cpp
  161                               cxxRecordDecl(isMoveConstructible())))))))
tools/clang/tools/extra/clang-tidy/modernize/UseEmplaceCheck.cpp
   56       on(hasType(cxxRecordDecl(hasAnyName(SmallVector<StringRef, 5>(
tools/clang/tools/extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
   46                        hasParent(cxxRecordDecl(hasMethod(unless(
tools/clang/tools/extra/clang-tidy/modernize/UseNodiscardCheck.cpp
   95       cxxRecordDecl(hasAnyName("::std::function", "::boost::function"));
tools/clang/tools/extra/clang-tidy/performance/InefficientStringConcatenationCheck.cpp
   36           hasDeclaration(cxxRecordDecl(hasName("::std::basic_string")))))));
tools/clang/tools/extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
   66   return hasType(cxxRecordDecl(hasAnyName(
  155   const auto VectorDecl = cxxRecordDecl(hasAnyName(SmallVector<StringRef, 5>(
  164         cxxRecordDecl(isDerivedFrom("::proto2::MessageLite"));
tools/clang/tools/extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp
   42                    unless(cxxMethodDecl(ofClass(cxxRecordDecl(anyOf(
tools/clang/tools/extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
   35       recordType(hasDeclaration(cxxRecordDecl(isSameOrDerivedFrom(
tools/clang/tools/extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
   30               cxxRecordDecl(unless(isTriviallyDefaultConstructible()))))))
tools/clang/tools/extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
   75       hasDeclaration(cxxRecordDecl(hasName("::std::basic_string"))))));
tools/clang/tools/extra/clang-tidy/readability/RedundantStringInitCheck.cpp
   50                       hasDeclaration(cxxRecordDecl(hasName("basic_string")))))),
tools/clang/tools/extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
   34       recordType(hasDeclaration(cxxRecordDecl(hasAnyName(
tools/clang/tools/extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.cpp
   26       hasTemplateArgument(1, refersToType(qualType(hasDeclaration(cxxRecordDecl(
tools/clang/tools/extra/clang-tidy/zircon/TemporaryObjectsCheck.cpp
   33                                  cxxRecordDecl(matchesAnyName(Names))))))
   41                            hasParent(cxxRecordDecl(matchesAnyName(Names))))))
tools/clang/tools/extra/tool-template/ToolTemplate.cpp
  110       namedDecl(cxxRecordDecl(), isExpansionInMainFile()).bind("decl"),
tools/clang/unittests/AST/ASTContextParentMapTest.cpp
   58                  hasParent(cxxRecordDecl(isTemplateInstantiation())))));
   63                  hasParent(cxxRecordDecl(unless(isTemplateInstantiation()))))));
   69           allOf(hasParent(cxxRecordDecl(unless(isTemplateInstantiation()))),
   70                 hasParent(cxxRecordDecl(isTemplateInstantiation()))))));
   79           hasAncestor(cxxRecordDecl(isTemplateInstantiation())),
   80           hasAncestor(cxxRecordDecl(unless(isTemplateInstantiation())))))));
  114                                 hasParent(cxxRecordDecl(
tools/clang/unittests/AST/ASTImporterGenericRedeclTest.cpp
   34     return cxxRecordDecl(hasName("X"), unless(isImplicit()));
tools/clang/unittests/AST/ASTImporterODRStrategiesTest.cpp
   81     return cxxRecordDecl(hasName("X"), unless(isImplicit()));
tools/clang/unittests/AST/ASTImporterTest.cpp
  556       cxxRecordDecl(
  604               classTemplateDecl(hasTemplateDecl(cxxRecordDecl(hasMethod(allOf(
  863       classTemplateDecl(has(cxxRecordDecl(has(
  938       classTemplateDecl(has(cxxRecordDecl(has(
 1111           unless(has(cxxRecordDecl(hasName("declToImport"))))))));
 1135       cxxRecordDecl(has(cxxMethodDecl(hasDescendant(
 1146       classTemplateDecl(has(cxxRecordDecl(
 1473   ASSERT_TRUE(Verifier.match(From, cxxRecordDecl(hasFieldOrder({"a", "b"}))));
 1474   EXPECT_TRUE(Verifier.match(To, cxxRecordDecl(hasFieldOrder({"a", "b"}))));
 1494       Verifier.match(From, cxxRecordDecl(hasFieldOrder({"a", "b", "c"}))));
 1496       Verifier.match(To, cxxRecordDecl(hasFieldOrder({"a", "b", "c"}))));
 1519       From, cxxRecordDecl(hasFieldOrder({"a", "", "b", "c", "d"}))));
 1521       To, cxxRecordDecl(hasFieldOrder({"a", "", "b", "c", "d"}))));
 1535   auto Matcher = cxxRecordDecl(has(cxxRecordDecl()));
 1535   auto Matcher = cxxRecordDecl(has(cxxRecordDecl()));
 1553   auto Matcher = classTemplateDecl(has(cxxRecordDecl(has(cxxRecordDecl()))));
 1553   auto Matcher = classTemplateDecl(has(cxxRecordDecl(has(cxxRecordDecl()))));
 1569   auto hasImplicitClass = has(cxxRecordDecl());
 1709                     ToTU, cxxRecordDecl(unless(isImplicit()))));
 1719       FromTU, cxxRecordDecl(hasName("B")));
 1724                     ToTU, cxxRecordDecl(unless(isImplicit()))));
 2052       cxxMethodDecl(hasName("f"), hasParent(cxxRecordDecl(hasName("D"))));
 2069       cxxMethodDecl(hasName("f"), hasParent(cxxRecordDecl(hasName("B"))));
 2112       cxxMethodDecl(hasName("f"), hasParent(cxxRecordDecl(hasName("B"))));
 2114       cxxMethodDecl(hasName("f"), hasParent(cxxRecordDecl(hasName("D"))));
 2142       cxxMethodDecl(hasName("f"), hasParent(cxxRecordDecl(hasName("B"))));
 2144       cxxMethodDecl(hasName("f"), hasParent(cxxRecordDecl(hasName("D"))));
 2146       hasName("f"), hasParent(cxxRecordDecl(hasName("B"))), isDefinition());
 2148       hasName("f"), hasParent(cxxRecordDecl(hasName("D"))), isDefinition());
 2180       cxxMethodDecl(hasName("f"), hasParent(cxxRecordDecl(hasName("B"))));
 2182       hasName("f"), hasParent(cxxRecordDecl(hasName("B"))), isDefinition());
 2183   auto DFP = cxxMethodDecl(hasName("f"), hasParent(cxxRecordDecl(hasName("D"))),
 2200       ToTU, cxxRecordDecl(hasName("B")));
 2233       cxxMethodDecl(hasName("f"), hasParent(cxxRecordDecl(hasName("B"))));
 2235       hasName("f"), hasParent(cxxRecordDecl(hasName("B"))), isDefinition());
 2237       cxxMethodDecl(hasName("f"), hasParent(cxxRecordDecl(hasName("D"))));
 2239       hasName("f"), hasParent(cxxRecordDecl(hasName("D"))), isDefinition());
 2262       ToTU, cxxRecordDecl(hasName("B")));
 2264       ToTU, cxxRecordDecl(hasName("D")));
 2676   auto ClassPattern = cxxRecordDecl(hasName("X"));
 2710   auto ClassPattern = cxxRecordDecl(hasName("X"));
 2760   auto ClassPattern = cxxRecordDecl(hasName("X"));
 2855       FromTU, cxxRecordDecl(hasName("X")));
 2868       ToTU, cxxRecordDecl(hasName("X")));
 2972                  cxxRecordDecl(has(typedefDecl(has(dependentNameType())))))));
 3017     auto ClassMatcher = cxxRecordDecl(unless(isImplicit()));
 3106         FromTU, cxxRecordDecl(hasName("A")));
 3116         FromTU, cxxRecordDecl(hasName("A")));
 3130         FromTU, cxxRecordDecl(hasName("A")));
 3138         FromTU, cxxRecordDecl(hasName("A")));
 3738       FromTU, cxxRecordDecl(hasName("F"), isDefinition()));
 3740       FromTU, cxxRecordDecl(hasName("F")));
 3772       FromTu, cxxRecordDecl(hasName("declToImport")));
 3774   auto Pattern = cxxRecordDecl(has(friendDecl()));
 3793       has(cxxRecordDecl(has(friendDecl(has(classTemplateDecl()))))));
 3957       FromTU1, cxxRecordDecl(hasName("F")));
 4497       ToTU, cxxRecordDecl(hasName("Y")));
 4522   auto *Y = FirstDeclMatcher<CXXRecordDecl>().match(ToTU, cxxRecordDecl(hasName("Y")));
 4653       fieldDecl(hasParent(cxxRecordDecl(hasParent(classTemplateDecl())))));
 4714       ToTU, cxxRecordDecl(hasName("X")));
 4807       FromTU, cxxRecordDecl(hasName("X"), unless(isImplicit())));
 4810       cxxRecordDecl(hasName("X"), isDefinition(), unless(isImplicit())));
 4983       FromTU, cxxRecordDecl(hasName("X")));
 5036       FromTU, cxxRecordDecl(hasName("F"), isDefinition()));
 5038       FromTU, cxxRecordDecl(hasName("A"), isDefinition()));
 5040       FromTU, cxxRecordDecl(hasName("B"), isDefinition()));
 5089           FromTU, cxxRecordDecl(hasName("A"), isImplicit())));
 5094           FromTU, cxxRecordDecl(hasName("X"), isImplicit())));
 5155         FromTU, cxxRecordDecl(hasName("X")));
 5167       ToTU, cxxRecordDecl(hasName("X"), isDefinition()));
 5175       ToTU, cxxRecordDecl(hasName("X"), unless(isDefinition())));
 5191         FromTU, cxxRecordDecl(hasName("X")));
 5213       functionDecl(hasName("foo"), hasAncestor(cxxRecordDecl(hasName("A"))));
 5215       functionDecl(hasName("foo"), hasAncestor(cxxRecordDecl(hasName("B"))));
 5217       functionDecl(hasName("foo"), hasAncestor(cxxRecordDecl(hasName("C"))));
 5377       ToTU, cxxRecordDecl(hasName("X")));
 5392       FromTU, cxxRecordDecl(hasName("X")));
 5445         FromTU, cxxRecordDecl(hasName("X"), unless(isImplicit())));
 5467       FromTU, cxxRecordDecl(hasName("X")));
 5520   auto Pattern = cxxRecordDecl(isLambda());
 5541   auto Pattern = cxxRecordDecl(isLambda());
 5567       DeclCounter<CXXRecordDecl>().match(FromTU, cxxRecordDecl(isLambda())),
 5574   EXPECT_EQ(DeclCounter<CXXRecordDecl>().match(ToTU, cxxRecordDecl(isLambda())),
 5591       DeclCounter<CXXRecordDecl>().match(FromTU, cxxRecordDecl(isLambda())),
 5598   EXPECT_EQ(DeclCounter<CXXRecordDecl>().match(ToTU, cxxRecordDecl(isLambda())),
tools/clang/unittests/AST/ASTImporterVisibilityTest.cpp
   36   BindableMatcher<Decl> operator()() { return cxxRecordDecl(hasName("X")); }
tools/clang/unittests/AST/SourceLocationTest.cpp
  619       friendDecl(hasParent(cxxRecordDecl(isTemplateInstantiation())))));
tools/clang/unittests/AST/StructuralEquivalenceTest.cpp
  211       get<1>(Decls), cxxRecordDecl(hasName("X")));
  571       cxxRecordDecl(hasName("A")),
  572       cxxRecordDecl(hasName("B")));
  770       cxxRecordDecl(hasName("A")));
 1316       TU, cxxRecordDecl(hasName("A"), unless(isImplicit())))));
 1318       TU, cxxRecordDecl(hasName("B"), unless(isImplicit())))));
 1350       TU, cxxRecordDecl(hasName("C"), unless(isImplicit())));
 1355       TU, cxxRecordDecl(hasName("A"), unless(isImplicit())))));
 1357       TU, cxxRecordDecl(hasName("B"), unless(isImplicit())))));
 1389       TU, cxxRecordDecl(hasName("C"), unless(isImplicit())));
 1394       TU, cxxRecordDecl(hasName("A"), unless(isImplicit())))));
tools/clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
  154     cxxRecordDecl(
  292   DeclarationMatcher YOrZDerivedFromX = cxxRecordDecl(
  326   DeclarationMatcher IsDerivedFromX = cxxRecordDecl(isDerivedFrom("X"));
  335       cxxRecordDecl(isDirectlyDerivedFrom("X"));
  344   DeclarationMatcher IsAX = cxxRecordDecl(isSameOrDerivedFrom("X"));
  353     cxxRecordDecl(hasName("Z"), isDerivedFrom("X"));
  355       cxxRecordDecl(hasName("Z"), isDirectlyDerivedFrom("X"));
  484                cxxRecordDecl(isDerivedFrom(recordDecl(hasName("Some"))))));
  491     cxxRecordDecl(hasName("B"), isDerivedFrom(recordDecl(hasName("A"))))));
  498       cxxRecordDecl(hasName("B"),
  516             hasInitializer(hasType(cxxRecordDecl(isDerivedFrom("Base1")))))));
  520             hasInitializer(hasType(cxxRecordDecl(isDerivedFrom("Base2")))))));
  524             hasInitializer(hasType(cxxRecordDecl(isDerivedFrom("Base1"),
  541             hasInitializer(hasType(cxxRecordDecl(isDerivedFrom("Base1")))))));
  545             hasInitializer(hasType(cxxRecordDecl(isDerivedFrom("Base2")))))));
  549             hasInitializer(hasType(cxxRecordDecl(isDerivedFrom("Base1"),
  553     cxxRecordDecl(isDerivedFrom("::ns::X"))));
  556     cxxRecordDecl(isDerivedFrom("::ns::X"))));
  560     cxxRecordDecl(isDerivedFrom(recordDecl(hasName("X")).bind("test")))));
  566     cxxRecordDecl(isDerivedFrom(namedDecl(hasName("X"))))));
  571   EXPECT_TRUE(notMatches(Code, cxxRecordDecl(isDerivedFrom(""))));
  572   EXPECT_TRUE(notMatches(Code, cxxRecordDecl(isDirectlyDerivedFrom(""))));
  573   EXPECT_TRUE(notMatches(Code, cxxRecordDecl(isSameOrDerivedFrom(""))));
  682   const auto IsLambda = cxxMethodDecl(ofClass(cxxRecordDecl(isLambda())));
  770     cxxRecordDecl(hasMethod(hasOverloadedOperatorName("*")));
 1126   EXPECT_TRUE(matches("class X final {};", cxxRecordDecl(isFinal())));
 1129   EXPECT_TRUE(notMatches("class X {};", cxxRecordDecl(isFinal())));
 1846     cxxRecordDecl(hasName("::X"), isTemplateInstantiation())));
 1850     cxxRecordDecl(isTemplateInstantiation(), hasDescendant(
 1865     cxxRecordDecl(isTemplateInstantiation(), hasDescendant(
 1873               cxxRecordDecl(isTemplateInstantiation(),
 1882     cxxRecordDecl(hasName("::X"), isTemplateInstantiation())));
 1893     cxxRecordDecl(hasName("::X::Y"), isTemplateInstantiation())));
 1906     cxxRecordDecl(hasName("::X<A>::Y"), unless(isTemplateInstantiation()))));
 1913     cxxRecordDecl(hasName("::X"), isTemplateInstantiation())));
 1919     cxxRecordDecl(isTemplateInstantiation())));
 1925             cxxRecordDecl(isInstantiated())));
 1930                          cxxRecordDecl(isInstantiated())));
 2024     cxxRecordDecl(isExplicitTemplateSpecialization())));
 2035     cxxRecordDecl(isExplicitTemplateSpecialization())));
 2046     cxxRecordDecl(isExplicitTemplateSpecialization())));
 2057     cxxRecordDecl(isExplicitTemplateSpecialization())));
 2227                          cxxRecordDecl(hasName("vector"), isInStdNamespace())));
 2232                       cxxRecordDecl(hasName("vector"), isInStdNamespace())));
 2238                       cxxRecordDecl(hasName("vector"), isInStdNamespace())));
 2250                          cxxRecordDecl(hasName("path"), isInStdNamespace())));
 2263               cxxRecordDecl(hasName("path"),
 2433                       cxxRecordDecl(hasDefinition())));
 2435                       cxxRecordDecl(hasDefinition())));
 2440                       cxxRecordDecl(hasDefinition())));
 2442                       cxxRecordDecl(hasDefinition())));
 2447                       cxxRecordDecl(hasDefinition())));
 2449                       cxxRecordDecl(hasDefinition())));
tools/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
   23                       cxxRecordDecl(hasMethod(hasName("func")))));
   25                          cxxRecordDecl(hasMethod(isPublic()))));
   35     cxxRecordDecl(hasName("B"), isDerivedFrom(recordDecl()))));
  153     hasDeclaration(cxxRecordDecl(isDerivedFrom("A")));
  236       parmVarDecl(hasType(qualType(hasDeclaration(cxxRecordDecl()))))));
  240       parmVarDecl(hasType(elaboratedType(hasDeclaration(cxxRecordDecl()))))));
  261                           hasDeclaration(cxxRecordDecl()))))));
  540   auto MatchesY = cxxMemberCallExpr(on(hasType(cxxRecordDecl(hasName("Y")))));
  544   auto MatchesX = cxxMemberCallExpr(on(hasType(cxxRecordDecl(hasName("X")))));
  574       onImplicitObjectArgument(hasType(cxxRecordDecl(hasName("Y")))));
  579       onImplicitObjectArgument(hasType(cxxRecordDecl(hasName("X")))));
  608       memberExpr(hasObjectExpression(hasType(cxxRecordDecl(hasName("X")))));
  613       hasObjectExpression(hasType(pointsTo(cxxRecordDecl(hasName("X"))))));
 2008     cxxRecordDecl(decl().bind("x"), hasMethod(hasName("g"))),
 2037     cxxRecordDecl(decl().bind("x"), isDerivedFrom("::A")),
 2042     cxxRecordDecl(decl().bind("x"), isDerivedFrom("C")),
 2204         hasAncestor(cxxRecordDecl(isTemplateInstantiation())),
 2205         hasAncestor(cxxRecordDecl(unless(isTemplateInstantiation())))))));
 2262         hasParent(cxxRecordDecl(isTemplateInstantiation())))))))));
 2269                 cxxRecordDecl(unless(isTemplateInstantiation()))))))))));
 2276                        cxxRecordDecl(isTemplateInstantiation())))),
 2277                            hasParent(functionDecl(hasParent(cxxRecordDecl(
tools/clang/unittests/Tooling/TransformerTest.cpp
  170       cxxMemberCallExpr(on(expr(hasType(cxxRecordDecl(
  463       cxxMemberCallExpr(on(expr(hasType(cxxRecordDecl(