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

Declarations

tools/clang/include/clang/ASTMatchers/ASTMatchers.h
 2797 extern const internal::ArgumentAdaptingMatcherFunc<internal::HasMatcher> has;

References

tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp
  235   REGISTER_MATCHER(has);
tools/clang/lib/Analysis/ExprMutationAnalyzer.cpp
  243                has(maybeEvalCommaExpr(equalsNode(Exp))));
tools/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp
  311                           has(expr(SuspiciousNumberObjectExprM))))
  316                              has(expr(SuspiciousNumberObjectExprM))));
  320                              has(expr(SuspiciousNumberObjectExprM))));
tools/clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp
   83                                 hasType(cxxRecordDecl(has(
tools/clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
  116                 initListExpr(has(declRefExpr(to(varDecl(VarNodeMatcher))))),
tools/clang/tools/extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp
  212                       functionTemplateDecl(has(Functions.bind("use"))))))),
  233                       classTemplateDecl(has(CXXRecords.bind("use"))))))))),
tools/clang/tools/extra/clang-move/Move.cpp
  505       classTemplateDecl(unless(has(cxxRecordDecl(isDefinition()))));
tools/clang/tools/extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp
   76       expr(has(ignoringElidableConstructorCall(
   77                ignoringParenCasts(cxxBindTemporaryExpr(has(cxxConstructExpr(
tools/clang/tools/extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
   68       has(callExpr(callee(functionDecl(*Strcat))).bind("StrCat")));
tools/clang/tools/extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp
  107                 has(implicitCastExpr(hasCastKind(CK_UserDefinedConversion)))),
tools/clang/tools/extra/clang-tidy/boost/UseToStringCheck.cpp
   36               hasParameter(0, hasType(qualType(has(substTemplateTypeParmType(
tools/clang/tools/extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.cpp
   60       !match(findAll(cxxDeleteExpr(has(ignoringParenImpCasts(expr(DeclRef))))),
tools/clang/tools/extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
  114                   exprWithCleanups(has(ignoringParenImpCasts(ConvertedHandle)))
  124           hasInitializer(exprWithCleanups(has(ignoringParenImpCasts(handleFrom(
  148           has(ignoringImplicit(handleFrom(
  166       returnStmt(has(exprWithCleanups(has(ignoringParenImpCasts(handleFrom(
  166       returnStmt(has(exprWithCleanups(has(ignoringParenImpCasts(handleFrom(
tools/clang/tools/extra/clang-tidy/bugprone/FoldInitTypeCheck.cpp
   30         recordType(hasDeclaration(has(typedefNameDecl(
tools/clang/tools/extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
   81           unless(hasParent(functionTemplateDecl(has(templateTypeParmDecl(
tools/clang/tools/extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp
   31               anyOf(cxxConstructExpr(has(ignoringImplicit(
   43           hasArgument(0, has(ignoringImplicit(
   44                              anyOf(EndCall, has(ignoringImplicit(EndCall)))))),
tools/clang/tools/extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
   44             implicitCastExpr(FloatType, has(ignoringParenImpCasts(FloatHalf))));
tools/clang/tools/extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp
   40                                              has(ignoringParenImpCasts(Calc)));
   43                        has(ignoringParenImpCasts(Calc)));
tools/clang/tools/extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
  586                 has(memberExpr(member(hasAnyName("size", "length"))))))
  590   auto SizeOfCharExpr = unaryExprOrTypeTraitExpr(has(expr(AnyOfCharTy)));
  604       hasBody(has(returnStmt(hasReturnValue(AnyOfCallOrDREWithoutInc))))))));
  785                      has(callExpr(Memchr).bind(FunctionExprName))))
tools/clang/tools/extra/clang-tidy/bugprone/SizeofContainerCheck.cpp
   22            expr(sizeOfExpr(has(ignoringParenImpCasts(
tools/clang/tools/extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
   89           has(hasUnqualifiedDesugaredType(type().bind("sizeof-arg-type")))),
   90       sizeOfExpr(has(expr(hasType(
   93       sizeOfExpr(has(ignoringParenImpCasts(expr(integerLiteral(equals(0)))))));
  100         expr(sizeOfExpr(has(ignoringParenImpCasts(ConstantExpr))),
  109         expr(sizeOfExpr(ignoringParenImpCasts(has(IntegerCallExpr))))
  117         expr(sizeOfExpr(has(ignoringParenImpCasts(expr(cxxThisExpr())))))
  127   Finder->addMatcher(expr(sizeOfExpr(has(ignoringParenImpCasts(expr(
  155       expr(anyOf(sizeOfExpr(has(expr(ignoringParenImpCasts(
  158                             sizeOfExpr(has(PointerToStructType))))
  175   Finder->addMatcher(expr(sizeOfExpr(has(expr(ignoringParenImpCasts(
  191                          anyOf(sizeOfExpr(has(NumType)),
  192                                sizeOfExpr(has(expr(hasType(NumType)))))))),
  194                          anyOf(sizeOfExpr(has(DenomType)),
  195                                sizeOfExpr(has(expr(hasType(DenomType)))))))))
  218       expr(sizeOfExpr(has(ignoringParenImpCasts(expr(
tools/clang/tools/extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
   90                    has(ignoringParenImpCasts(expr(ConcatenatedStringLiteral))));
tools/clang/tools/extra/clang-tidy/bugprone/SuspiciousStringCompareCheck.cpp
  158                 has(ignoringParenImpCasts(integerLiteral(unless(equals(0)))))),
tools/clang/tools/extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
   63                        has(ignoringParenImpCasts(LoopVarMatcher)))
tools/clang/tools/extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp
   48                      has(ignoringParenCasts(cxxThisExpr()))))));
   90         has(fieldDecl(anyOf(hasType(pointerType()), hasType(SmartPointerType),
tools/clang/tools/extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
   36       cxxBindTemporaryExpr(unless(has(ignoringParenImpCasts(callExpr()))))
   42                        anyOf(has(ignoringParenImpCasts(BindTemp)),
   43                              has(ignoringParenImpCasts(cxxFunctionalCastExpr(
   44                                  has(ignoringParenImpCasts(BindTemp)))))))
tools/clang/tools/extra/clang-tidy/cert/DontModifyStdNamespaceCheck.cpp
   26                     has(decl(unless(anyOf(
tools/clang/tools/extra/clang-tidy/cert/ProperlySeededRandomGeneratorCheck.cpp
   51           has(memberExpr(has(declRefExpr(RandomGeneratorEngineTypeMatcher)),
   51           has(memberExpr(has(declRefExpr(RandomGeneratorEngineTypeMatcher)),
tools/clang/tools/extra/clang-tidy/cert/ThrownExceptionTypeCheck.cpp
   25       cxxThrowExpr(has(ignoringParenImpCasts(
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
  110       has(cxxConstructorDecl(forEachConstructorInitializer(
  170           has(fieldDecl(IsOwnerType).bind("undestructed_owner_member")),
  171           anyOf(unless(has(cxxDestructorDecl())),
  172                 has(cxxDestructorDecl(anyOf(isDefaulted(), isDeleted())))))
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
  278           anyOf(has(cxxConstructorDecl(isDefaultConstructor(), isDefaulted(),
  280                 unless(has(cxxConstructorDecl()))),
  292               hasType(recordDecl(has(fieldDecl()),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
   42               has(cxxDestructorDecl(unless(isImplicit())).bind("dtor")),
   43               has(cxxConstructorDecl(isCopyConstructor(), unless(isImplicit()))
   45               has(cxxMethodDecl(isCopyAssignmentOperator(),
   48               has(cxxConstructorDecl(isMoveConstructor(), unless(isImplicit()))
   50               has(cxxMethodDecl(isMoveAssignmentOperator(),
tools/clang/tools/extra/clang-tidy/hicpp/ExceptionBaseclassCheck.cpp
   25           unless(has(expr(anyOf(isTypeDependent(), isValueDependent())))),
   27           has(expr(unless(
   32           anyOf(has(expr(
   39           eachOf(has(expr(hasType(namedDecl().bind("decl")))), anything()))
tools/clang/tools/extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
   29   auto Condition = hasCondition(implicitCastExpr(has(
   37       has(declStmt(containsDeclaration(
   64                            hasRHS(anyOf(implicitCastExpr(has(CallExpression)),
tools/clang/tools/extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp
   26           varDecl(hasInitializer(exprWithCleanups(has(implicitCastExpr(has(
   26           varDecl(hasInitializer(exprWithCleanups(has(implicitCastExpr(has(
   28                                               has(memberExpr(hasDeclaration(
tools/clang/tools/extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.cpp
   31   return cxxRecordDecl(has(fieldDecl(unless(isPublic()))))
tools/clang/tools/extra/clang-tidy/misc/RedundantExpressionCheck.cpp
  694           has(unaryOperator(
tools/clang/tools/extra/clang-tidy/misc/StaticAssertCheck.cpp
   42       IsAlwaysFalse, cStyleCastExpr(has(ignoringParenImpCasts(IsAlwaysFalse)))
tools/clang/tools/extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.cpp
   59   const auto IsBadReturnStatement = returnStmt(unless(has(ignoringParenImpCasts(
tools/clang/tools/extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp
   32           has(ignoringParenImpCasts(cxxMemberCallExpr(
tools/clang/tools/extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
   84   auto CanCallCtor = unless(has(ignoringImpCasts(
   88       cxxBindTemporaryExpr(has(ignoringParenImpCasts(
tools/clang/tools/extra/clang-tidy/modernize/PassByValueCheck.cpp
  148                       has(ignoringParenImpCasts(declRefExpr(to(
tools/clang/tools/extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
   40                has(implicitCastExpr(has(declRefExpr().bind("name")))))
   40                has(implicitCastExpr(has(declRefExpr().bind("name")))))
tools/clang/tools/extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp
   35       has(ConstructExpr), has(cxxFunctionalCastExpr(has(ConstructExpr)))));
   35       has(ConstructExpr), has(cxxFunctionalCastExpr(has(ConstructExpr)))));
   35       has(ConstructExpr), has(cxxFunctionalCastExpr(has(ConstructExpr)))));
   41                        has(cxxConstructExpr(has(CtorAsArgument)))))))
   41                        has(cxxConstructExpr(has(CtorAsArgument)))))))
tools/clang/tools/extra/clang-tidy/modernize/ShrinkToFitCheck.cpp
   33                unaryOperator(has(ignoringParenImpCasts(ShrinkableAsMember))),
   34                unaryOperator(has(ignoringParenImpCasts(ShrinkableAsDecl))))));
   38                  unaryOperator(has(ignoringParenImpCasts(
   40                  unaryOperator(has(ignoringParenImpCasts(declRefExpr(
   48           has(ignoringParenImpCasts(memberExpr(hasDescendant(CopyCtorCall)))),
tools/clang/tools/extra/clang-tidy/modernize/UseAutoCheck.cpp
  249   return declStmt(unless(has(
  259              unless(has(varDecl(anyOf(
  277              unless(has(varDecl(unless(hasInitializer(explicitCastExpr()))))))
  286       anyOf(has(memberExpr(hasExplicitTemplateArgs())),
  287             has(ignoringImpCasts(declRefExpr(hasExplicitTemplateArgs()))));
  297   return declStmt(unless(has(varDecl(
  307       has(varDecl(unless(isImplicit()))),
  309       unless(has(varDecl(anyOf(hasType(autoType()),
tools/clang/tools/extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp
   31           has(ignoringParenImpCasts(integerLiteral().bind("literal"))),
tools/clang/tools/extra/clang-tidy/modernize/UseEmplaceCheck.cpp
   83   auto HasInitList = anyOf(has(ignoringImplicit(initListExpr())),
   84                            has(cxxStdInitializerListExpr()));
   94   auto HasConstructExpr = has(ignoringImplicit(SoughtConstructExpr));
  107       has(materializeTemporaryExpr(MakeTuple)),
  112       anyOf(has(MakeTuple), has(MakeTupleCtor),
  112       anyOf(has(MakeTuple), has(MakeTupleCtor),
  113             HasConstructExpr, has(cxxFunctionalCastExpr(HasConstructExpr))));
  115   Finder->addMatcher(cxxMemberCallExpr(CallPushBack, has(SoughtParam),
tools/clang/tools/extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
   99                     initListExpr(has(AccessToFieldInParam)),
  132       match(returnStmt(has(ignoringParenImpCasts(unaryOperator(
  148             compoundStmt(has(ignoringParenImpCasts(cxxMemberCallExpr(
  176             compoundStmt(has(ignoringParenImpCasts(stmt(anyOf(
tools/clang/tools/extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp
   47               0, cxxConstructExpr(has(ignoringParenImpCasts(cxxMemberCallExpr(
   56               1, cxxConstructExpr(has(ignoringParenImpCasts(cxxMemberCallExpr(
tools/clang/tools/extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
  115       anyOf(compoundStmt(statementCountIs(1), has(AppendCall)), AppendCall));
  117       hasParent(compoundStmt(has(TargetVarDefStmt)).bind(LoopParentName));
tools/clang/tools/extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
   59                        has(varDecl(hasLocalStorage(),
tools/clang/tools/extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
   90                    has(typeLoc(forEach(ExpensiveValueParamDecl))),
tools/clang/tools/extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp
   44                    has(typeLoc(forEach(ConstParamDecl))))
tools/clang/tools/extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
   37               has(cxxMethodDecl(
   42               has(cxxMethodDecl(isConst(), parameterCountIs(0), isPublic(),
   76       ignoringImpCasts(cxxBindTemporaryExpr(has(DefaultConstructor))),
   80           has(expr(ignoringImpCasts(DefaultConstructor)))),
   83           has(expr(ignoringImpCasts(DefaultConstructor)))));
tools/clang/tools/extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
   23       cxxDeleteExpr(has(castExpr(has(declRefExpr(
   23       cxxDeleteExpr(has(castExpr(has(declRefExpr(
   28       cxxDeleteExpr(has(castExpr(has(memberExpr(hasDeclaration(
   28       cxxDeleteExpr(has(castExpr(has(memberExpr(hasDeclaration(
   46                  compoundStmt(anyOf(has(DeleteExpr), has(DeleteMemberExpr)),
   46                  compoundStmt(anyOf(has(DeleteExpr), has(DeleteMemberExpr)),
tools/clang/tools/extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
   36                                     compoundStmt(has(InterruptsControlFlow))))),
tools/clang/tools/extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
  268                  has(ignoringImplicit(memberExpr(hasDeclaration(fieldDecl(hasBitWidth(1)))))),
  291               hasParent(stmt(anyOf(ifStmt(), whileStmt()), has(declStmt())))),
  293           unless(exceptionCases), unless(has(boolXor)),
tools/clang/tools/extra/clang-tidy/readability/MisleadingIndentationCheck.cpp
  111       compoundStmt(has(stmt(anyOf(ifStmt(), forStmt(), whileStmt()))))
tools/clang/tools/extra/clang-tidy/readability/RedundantControlFlowCheck.cpp
   37           has(compoundStmt(hasAnySubstatement(returnStmt(unless(has(expr())))))
   37           has(compoundStmt(hasAnySubstatement(returnStmt(unless(has(expr())))))
   41       has(compoundStmt(hasAnySubstatement(continueStmt())).bind("continue"));
tools/clang/tools/extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp
   21                                    has(implicitCastExpr(
tools/clang/tools/extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
   41       has(cxxMethodDecl(hasName("operator->"),
   43       has(cxxMethodDecl(hasName("operator*"), returns(qualType(references(
   62       recordDecl(Smartptr, has(cxxConversionDecl(returns(booleanType()))))));
tools/clang/tools/extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
   69       returnStmt(has(cxxBoolLiteral(equals(Value)).bind(Id)))
   72                compoundStmt(statementCountIs(1), has(SimpleReturnsBool)));
  493           hasAnySubstatement(returnStmt(has(ignoringParenImpCasts(
tools/clang/tools/extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
   40               has(memberExpr().bind("member")),
tools/clang/tools/extra/clang-tidy/readability/StringCompareCheck.cpp
   38                                       has(StrCompare))
tools/clang/tools/extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.cpp
   30       cxxDeleteExpr(has(ignoringParenImpCasts(cxxMemberCallExpr(
tools/clang/tools/extra/clang-tidy/utils/NamespaceAliaser.cpp
   47       match(functionDecl(hasBody(compoundStmt(has(declStmt(
   48                 has(namespaceAliasDecl(hasTargetNamespace(hasName(Namespace)))
   62         !match(functionDecl(hasAncestor(decl(has(ConflictMatcher)))), *Function,
tools/clang/tools/extra/clang-tidy/utils/UsingInserter.cpp
   52       !match(stmt(hasAncestor(decl(has(usingDecl(hasAnyUsingShadowDecl(
tools/clang/unittests/AST/ASTImporterTest.cpp
  117             has(namedDecl(hasName(DeclToImportID)).bind(DeclToImportID))),
  541               has(initListExpr(
  543                   has(integerLiteral(
  545                   has(integerLiteral(
  547                   has(integerLiteral(
  571               has(ignoringParenImpCasts(
  574               has(integerLiteral(equals(1), hasType(asString("int"))))))));
  606                   hasBody(compoundStmt(has(declStmt(hasSingleDecl(
  607                       varDecl(hasInitializer(parenListExpr(has(unaryOperator(
  618           switchStmt(has(compoundStmt(has(caseStmt())))))));
  618           switchStmt(has(compoundStmt(has(caseStmt())))))));
  687               has(designatedInitExpr(
  691               has(designatedInitExpr(
  695               has(designatedInitExpr(
  711               has(stringLiteral(hasType(
  725               has(
  728               has(
  731                       has(floatLiteral(equals(1.0))),
  732                       has(implicitValueInitExpr(
  734               has(
  737                       has(floatLiteral(equals(2.0))),
  738                       has(floatLiteral(equals(1.0)))))))));
  761           exprWithCleanups(has(cxxConstructExpr(
  762               has(materializeTemporaryExpr(has(implicitCastExpr(
  762               has(materializeTemporaryExpr(has(implicitCastExpr(
  763                   has(cxxTemporaryObjectExpr())))))))))));
  771       functionDecl(hasDescendant(typedefDecl(has(atomicType())))));
  793           cStyleCastExpr(has(cxxDependentScopeMemberExpr())))));
  803           cStyleCastExpr(has(cxxDependentScopeMemberExpr())))));
  815           hasDescendant(implicitCastExpr(has(declRefExpr()))),
  816           unless(hasAncestor(translationUnitDecl(has(typeAliasDecl()))))));
  831           unless(hasAncestor(translationUnitDecl(has(varDecl(
  846           returnStmt(has(implicitCastExpr(has(declRefExpr())))))));
  846           returnStmt(has(implicitCastExpr(has(declRefExpr())))))));
  863       classTemplateDecl(has(cxxRecordDecl(has(
  863       classTemplateDecl(has(cxxRecordDecl(has(
  889       varDecl(hasType(classTemplateSpecializationDecl(has(fieldDecl(hasType(
  938       classTemplateDecl(has(cxxRecordDecl(has(
  938       classTemplateDecl(has(cxxRecordDecl(has(
  952                  has(declStmt(hasSingleDecl(varDecl(hasName("d")))))))));
 1024           callExpr(has(cxxPseudoDestructorExpr())))));
 1055       namespaceDecl(has(usingShadowDecl())));
 1082           binaryOperator(has(cxxUnresolvedConstructExpr())))));
 1092               binaryOperator(has(cxxUnresolvedConstructExpr())))));
 1105           unless(has(functionDecl(hasName("declToImport"))))))));
 1111           unless(has(cxxRecordDecl(hasName("declToImport"))))))));
 1124              recordDecl(has(classTemplateDecl()),
 1125                         has(classTemplateSpecializationDecl())));
 1135       cxxRecordDecl(has(cxxMethodDecl(hasDescendant(
 1146       classTemplateDecl(has(cxxRecordDecl(
 1147           has(fieldDecl(hasType(dependentSizedArrayType())))))));
 1406       translationUnitDecl(unless(has(classTemplateSpecializationDecl())));
 1414   Pattern = translationUnitDecl(has(classTemplateDecl(
 1415       hasName("Base"), has(classTemplateSpecializationDecl()))));
 1452   auto Pattern = namespaceDecl(has(classTemplateDecl(
 1453       hasName("X"), unless(has(classTemplateSpecializationDecl())))));
 1459   Pattern = namespaceDecl(has(classTemplateSpecializationDecl(hasName("X"))));
 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());
 1570   auto Pattern = translationUnitDecl(has(classTemplateDecl(
 1572       has(classTemplateSpecializationDecl(hasImplicitClass)))));
 1614   auto Pattern = translationUnitDecl(has(classTemplateDecl(
 1616       has(classTemplateSpecializationDecl(has(fieldDecl(hasName("a"))))))));
 1616       has(classTemplateSpecializationDecl(has(fieldDecl(hasName("a"))))))));
 2907       enumDecl(has(enumConstantDecl(hasName("THING_VALUE"))),
 2947              functionTemplateDecl(has(functionDecl(has(compoundStmt(
 2947              functionTemplateDecl(has(functionDecl(has(compoundStmt(
 2948                  has(cStyleCastExpr(has(dependentScopeDeclRefExpr())))))))));
 2948                  has(cStyleCastExpr(has(dependentScopeDeclRefExpr())))))))));
 2958              functionTemplateDecl(has(functionDecl(has(compoundStmt(
 2958              functionTemplateDecl(has(functionDecl(has(compoundStmt(
 2959                  has(callExpr(has(dependentScopeDeclRefExpr())))))))));
 2959                  has(callExpr(has(dependentScopeDeclRefExpr())))))))));
 2971              classTemplateDecl(has(
 2972                  cxxRecordDecl(has(typedefDecl(has(dependentNameType())))))));
 2972                  cxxRecordDecl(has(typedefDecl(has(dependentNameType())))))));
 2984              functionTemplateDecl(has(functionDecl(has(
 2984              functionTemplateDecl(has(functionDecl(has(
 2985                  compoundStmt(has(callExpr(has(unresolvedMemberExpr())))))))));
 2985                  compoundStmt(has(callExpr(has(unresolvedMemberExpr())))))))));
 3254       R0, recordDecl(has(fieldDecl(hasName("next"))))));
 3256       R1, recordDecl(has(fieldDecl(hasName("next"))))));
 3774   auto Pattern = cxxRecordDecl(has(friendDecl()));
 3793       has(cxxRecordDecl(has(friendDecl(has(classTemplateDecl()))))));
 3793       has(cxxRecordDecl(has(friendDecl(has(classTemplateDecl()))))));
 3793       has(cxxRecordDecl(has(friendDecl(has(classTemplateDecl()))))));
 4060       unless(has(functionDecl(hasName("f"), isTemplateInstantiation()))));
 4084   auto Pattern = translationUnitDecl(unless(has(Instantiation)));
 4108   auto Pattern = translationUnitDecl(has(Specialization));
tools/clang/unittests/AST/SourceLocationTest.cpp
  526       Code, friendDecl(has(cxxConstructorDecl(ofClass(hasName("B")))))));
  530       Code, friendDecl(has(cxxDestructorDecl(ofClass(hasName("B")))))));
  544       Code, friendDecl(has(cxxConstructorDecl(ofClass(hasName("B")))))));
  548       Code, friendDecl(has(cxxDestructorDecl(ofClass(hasName("B")))))));
tools/clang/unittests/AST/StmtPrinterTest.cpp
   38                       has(compoundStmt(has(stmt().bind("id")))));
   38                       has(compoundStmt(has(stmt().bind("id")))));
tools/clang/unittests/ASTMatchers/ASTMatchersInternalTest.cpp
   55   DeclarationMatcher HasClassB = just(has(recordDecl(hasName("B")).bind("b")));
tools/clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
   51   DeclarationMatcher HasClassX = recordDecl(has(recordDecl(hasName("X"))));
   56     recordDecl(hasName("Y"), has(recordDecl(hasName("X"))));
   66       has(recordDecl(
   67         has(recordDecl(hasName("X"))),
   68         has(recordDecl(hasName("Y"))),
   70       has(recordDecl(
   71         has(recordDecl(hasName("A"))),
   72         has(recordDecl(hasName("B"))),
  125         has(recordDecl(
  127             has(recordDecl(
  129             has(recordDecl(
  132         has(recordDecl(
  135             has(recordDecl(
  137             has(recordDecl(
  168       has(recordDecl(hasName("Z"))),
  170         has(recordDecl(hasName("Y")))));
  208       hasDescendant(recordDecl(has(recordDecl(hasName("Y"))),
  252     decl(hasDescendant(typeLoc().bind("x")), has(decl()));
  688   DeclarationMatcher ClassX = has(recordDecl(hasName("::X")).bind("x"));
  697     recordDecl(hasName("A"), has(recordDecl(hasName("B")).bind("b"))));
 1818     recordDecl(eachOf(has(fieldDecl(hasName("a")).bind("v")),
 1819                       has(fieldDecl(hasName("b")).bind("v")))),
 1826     recordDecl(eachOf(has(fieldDecl(hasName("a")).bind("v")),
 1827                       has(fieldDecl(hasName("b")).bind("v")))),
 1831     recordDecl(eachOf(has(fieldDecl(hasName("a")).bind("v")),
 1832                       has(fieldDecl(hasName("b")).bind("v")))),
 1836     recordDecl(eachOf(has(fieldDecl(hasName("a")).bind("v")),
 1837                       has(fieldDecl(hasName("b")).bind("v"))))));
 2290                        hasParent(stmt(has(stmt(equalsBoundNode("if")))))))));
 2294     stmt(allOf(ifStmt().bind("if"), has(stmt(equalsBoundNode("if")))))));
 2301                hasParent(decl(has(decl(equalsBoundNode("record")))))))));
 2305                                     has(decl(equalsBoundNode("record")))))));
 2312       has(fieldDecl(hasName("a"), hasType(type().bind("t")))),
 2313       has(fieldDecl(hasName("b"), hasType(type(equalsBoundNode("t"))))))));
 2318       has(fieldDecl(hasName("a"), hasType(type().bind("t")))),
 2319       has(fieldDecl(hasName("b"), hasType(type(equalsBoundNode("t"))))))));
tools/clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
  778       has(
  781       has(
  784           has(floatLiteral(equals(1.0))),
  785           has(implicitValueInitExpr(
  787       has(
  790           has(floatLiteral(equals(2.0))),
  791           has(floatLiteral(equals(1.0)))))
  798                                has(
  805                                has(
  812                                has(
  826             varDecl(hasInitializer(parenListExpr(has(unaryOperator()))))));
  839                         has(stringLiteral()))));
  881       has(
 1101                       cxxConstructExpr(has(cxxStdInitializerListExpr()),
 1105                       cxxConstructExpr(has(cxxStdInitializerListExpr()),
 1552         stmt(has(stmt(equalsNode(TypedNode)))).bind(""))),
 1561         decl(has(decl(equalsNode(TypedNode)))).bind(""))),
 1570       "", match(fieldDecl(hasParent(decl(has(fieldDecl(
tools/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
  104                       varDecl(hasName("i"), has(isInteger()))));
  106                          varDecl(hasName("i"), has(isInteger()))));
  116     varDecl(hasName("i"), hasType(qualType(has(builtinType()))))));
  119     varDecl(hasName("i"), hasType(qualType(has(pointerType()))))));
  125            has(ignoringParenImpCasts(declRefExpr(to(varDecl(hasName("i")))))));
  160     recordDecl(hasName("A"), has(recordDecl(hasName("B")))));
 1495           exprWithCleanups(has(ignoringElidableConstructorCall(callExpr())))))),
 1551                       varDecl(has(ignoringImplicit(cxxConstructExpr())))));
 1584       hasInitializer(exprWithCleanups(has(
 1585         cxxConstructExpr(has(expr(ignoringImplicit(cxxConstructExpr(
 1586           has(expr(ignoringImplicit(callExpr())))
 1595       notMatches("class C {}; C a = C();", varDecl(has(cxxConstructExpr()))));
 1804     ifStmt(has(switchStmt(forEachSwitchCase(defaultStmt()))))));
 1808                             constantExpr(has(integerLiteral()))))))));
 1812                                constantExpr(has(integerLiteral()))))))));
 1816                                constantExpr(has(integerLiteral()))))))));
 1829       cxxConversionDecl(hasExplicitSpecifier(constantExpr(has(cxxBoolLiteral())))),
 1833       cxxConversionDecl(hasExplicitSpecifier(constantExpr(has(cxxBoolLiteral())))),
 1837       cxxConversionDecl(hasExplicitSpecifier(constantExpr(has(cxxBoolLiteral())))),
 1841       cxxConversionDecl(hasExplicitSpecifier(constantExpr(has(cxxBoolLiteral())))),
 1845       cxxConstructorDecl(hasExplicitSpecifier(constantExpr(has(cxxBoolLiteral())))),
 1849       cxxConstructorDecl(hasExplicitSpecifier(constantExpr(has(cxxBoolLiteral())))),
 1853       cxxConstructorDecl(hasExplicitSpecifier(constantExpr(has(cxxBoolLiteral())))),
 1859           hasExplicitSpecifier(constantExpr(has(cxxBoolLiteral())))),
 1864                                        constantExpr(has(cxxBoolLiteral())))),
 1869                                        constantExpr(has(cxxBoolLiteral())))),
 1966     "class X { int a; };", recordDecl(decl().bind("x"), has(fieldDecl())),
 2013                has(cxxConstructorDecl(
 2027                  has(compoundStmt(hasAnySubstatement(ifStmt())))),
 2388                         has(nestedNameSpecifier(
 2393                         has(nestedNameSpecifier(
 2433                            has(loc(nestedNameSpecifier(
 2438                            has(loc(nestedNameSpecifier(
 2511       "X", recordDecl(has(recordDecl(hasName("X::Y")).bind("Y"))), "Y")));
 2515       "X", recordDecl(has(recordDecl(hasName("X::Z")).bind("Z"))), "Z")));
 2545                  has(unaryOperator(hasOperatorName("*"))))));
 2550                  has(integerLiteral()))));
 2555                  has(integerLiteral()))));
tools/clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp
  373       has(fieldDecl(hasName("Foo"))),