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

References

tools/clang/lib/Analysis/ExprMutationAnalyzer.cpp
  142       match(findAll(declRefExpr(to(equalsNode(Dec))).bind(NodeID<Expr>::value)),
  179                          .bind(NodeID<Expr>::value)),
  291                         .bind("stmt")),
  302                         .bind(NodeID<Expr>::value)),
  311                   .bind(NodeID<Expr>::value)),
  324                         .bind(NodeID<Expr>::value)),
  333                         .bind("expr")),
  344                                     .bind(NodeID<Decl>::value)),
  360                         .bind(NodeID<Expr>::value)),
  374               hasParent(declStmt().bind("stmt")),
  379               .bind(NodeID<Decl>::value))),
  387       parmVarDecl(hasType(nonConstReferenceType())).bind("parm"));
  389   const auto FuncDecl = hasDeclaration(functionDecl().bind("func"));
  396                   .bind(NodeID<Expr>::value)),
tools/clang/lib/StaticAnalyzer/Checkers/GCDAntipatternChecker.cpp
   68                          declRefExpr(to(varDecl().bind(DeclName)))));
  101           varDecl(hasDescendant(SemaphoreCreateM)).bind(SemaphoreBinding)),
  130     ).bind(WarnAtNode));
  143           varDecl(hasDescendant(DispatchGroupCreateM)).bind(GroupBinding)),
  176     ).bind(WarnAtNode));
tools/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp
  205           .bind("c_object")));
  216                             .bind("osnumber"))))))))))
  217           .bind("cpp_object")));
  227           .bind("objc_object")));
  244                    typedefDecl(hasName("BOOL"))))).bind("objc_bool_type");
  248       qualType(anyOf(qualType(booleanType()).bind("cpp_bool_type"),
  258       .bind("int_type");
  276       ))).bind("pedantic");
  290                                             .bind("check_if_null"))))
  291       .bind("comparison");
  298       .bind("comparison");
  307       .bind("pedantic");
  312       .bind("pedantic");
  336                            ConversionThroughInitializerM)).bind("conv");
tools/clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp
   76           OSObjSubclassM)).bind(WarnAtNode);
tools/clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp
  156           .bind(ParamBind);
  159       declRefExpr(to(parmVarDecl(DoublePointerParamM))).bind(CapturedBind);
  169   ).bind(ProblematicWriteBind);
  197       objcMethodDecl(HasParamAndWritesInMarkedFuncM).bind(IsMethodBind),
tools/clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
   77                       )).bind(WarnAtNode);
tools/clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp
   90                       ).bind(WarnAtNode);
tools/clang/lib/StaticAnalyzer/Checkers/RunLoopAutoreleaseLeakChecker.cpp
  136           .bind(RunLoopBind);
  140                          Extra).bind(RunLoopRunBind);
  143       callExpr(callee(functionDecl(hasName("xpc_main")))).bind(RunLoopRunBind);
  151       .bind(OtherMsgBind);
  159     hasAncestor(autoreleasePoolStmt().bind(OtherStmtAutoreleasePoolBind)));
  164         hasDescendant(OtherMessageSentM)).bind(AutoreleasePoolBind);
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
  541   auto FieldAccessM = memberExpr(hasDeclaration(equalsNode(FD))).bind("access");
  558           .bind("guard");
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
  445           objcIvarRefExpr(hasDeclaration(equalsNode(Ivar))).bind(IvarBind))));
tools/clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
   87                             to(varDecl(hasType(isInteger())).bind(BindName))))),
   89                             integerLiteral().bind("boundNum"))))
   90       .bind("conditionOperator");
  146                                              integerLiteral().bind("initNum"))),
  151                                           integerLiteral().bind("initNum")))))),
  159              unless(hasBody(hasSuspiciousStmt("initVarName")))).bind("forLoop");
tools/clang/lib/StaticAnalyzer/Core/LoopWidening.cpp
   70   auto Matches = match(findAll(stmt(hasDescendant(varDecl(hasType(referenceType())).bind(MatchRef)))),
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
 1093               to(varDecl(hasStaticStorageDuration()).bind(DeclBind)))));
tools/clang/tools/extra/clang-change-namespace/ChangeNamespace.cpp
  388       allOf(hasAncestor(namespaceDecl(hasName(FullOldNs)).bind("ns_decl")),
  395           .bind("using"),
  400                          .bind("using_namespace"),
  405                          .bind("namespace_alias"),
  411           .bind("old_ns"),
  418                          .bind("class_fwd_decl"),
  425           .bind("template_class_fwd_decl"),
  450               loc(qualType(hasDeclaration(DeclMatcher.bind("from_decl")))),
  458               hasAncestor(decl().bind("dc")))
  459           .bind("type"),
  468                          .bind("using_with_shadow"),
  476           hasAncestor(decl(IsInMovedNs).bind("dc")),
  478               specifiesType(hasDeclaration(DeclMatcher.bind("from_decl"))))),
  484           .bind("nested_specifier_loc"),
  494       cxxCtorInitializer(isBaseInitializer()).bind("base_initializer"), this);
  507   Finder->addMatcher(expr(hasAncestor(decl().bind("dc")), IsInMovedNs,
  509                           anyOf(callExpr(callee(FuncMatcher)).bind("call"),
  510                                 declRefExpr(to(FuncMatcher.bind("func_decl")))
  511                                     .bind("func_ref"))),
  517   Finder->addMatcher(declRefExpr(IsInMovedNs, hasAncestor(decl().bind("dc")),
  518                                  to(GlobalVarMatcher.bind("var_decl")))
  519                          .bind("var_ref"),
  528       declRefExpr(IsInMovedNs, hasAncestor(decl().bind("dc")),
  529                   to(UnscopedEnumMatcher.bind("enum_const_decl")))
  530           .bind("enum_const_ref"),
tools/clang/tools/extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp
  202   MatchFinder->addMatcher(Decls.bind("decl"), this);
  207       declRefExpr(isExpansionInMainFile(), to(Decls.bind("use"))), this);
  212                       functionTemplateDecl(has(Functions.bind("use"))))))),
  218               loc(qualType(hasDeclaration(Types.bind("use"))))),
  224               loc(typedefType(hasDeclaration(Typedefs.bind("use"))))),
  233                       classTemplateDecl(has(CXXRecords.bind("use"))))))))),
tools/clang/tools/extra/clang-move/Move.cpp
  527   Finder->addMatcher(AllDeclsInHeader.bind("decls_in_header"), this);
  534   Finder->addMatcher(namedDecl(ForwardClassDecls, InOldHeader).bind("fwd_decl"),
  550                          .bind("using_decl"),
  590       namedDecl(anyOf(HelperFuncOrVar, HelperClasses)).bind("helper_decls"),
  600       declRefExpr(to(HelperFuncOrVar), hasAncestor(decl().bind("dc")))
  601           .bind("func_ref"),
  605       typeLoc(loc(recordType(hasDeclaration(HelperClasses.bind("used_class")))),
  606               hasAncestor(decl().bind("dc"))),
  617                         .bind("moved_class");
  624           .bind("class_method"),
  629           .bind("class_static_var_decl"),
  634                          .bind("function"),
  639       varDecl(InOldFiles, *HasAnySymbolNames, TopLevelDecl).bind("var"),
  647           .bind("enum"),
  654   Finder->addMatcher(namedDecl(anyOf(typedefDecl().bind("typedef"),
  655                                      typeAliasDecl().bind("type_alias")),
tools/clang/tools/extra/clang-reorder-fields/ReorderFieldsAction.cpp
   39       match(recordDecl(hasName(RecordName), isDefinition()).bind("recordDecl"),
  108       match(findAll(memberExpr(hasObjectExpression(cxxThisExpr())).bind("ME")),
  292            match(initListExpr(hasType(equalsNode(RD))).bind("initListExpr"),
tools/clang/tools/extra/clang-tidy/abseil/DurationAdditionCheck.cpp
   26                                              .bind("function_decl")))
   27                              .bind("call")))))
   28           .bind("binop"),
tools/clang/tools/extra/clang-tidy/abseil/DurationComparisonCheck.cpp
   24                               .bind("function_decl"))))
   25                      .bind("binop");
tools/clang/tools/extra/clang-tidy/abseil/DurationConversionCastCheck.cpp
   23       callee(functionDecl(DurationConversionFunction()).bind("func_decl")),
   24       hasArgument(0, expr().bind("arg"))));
   28           cxxStaticCastExpr(hasSourceExpression(CallMatcher)).bind("cast_expr"),
   29           cStyleCastExpr(hasSourceExpression(CallMatcher)).bind("cast_expr"),
   31               .bind("cast_expr"))),
tools/clang/tools/extra/clang-tidy/abseil/DurationDivisionCheck.cpp
   31                   .bind("OpCall"))),
tools/clang/tools/extra/clang-tidy/abseil/DurationFactoryFloatCheck.cpp
   40           .bind("call"),
tools/clang/tools/extra/clang-tidy/abseil/DurationFactoryScaleCheck.cpp
  121           callee(functionDecl(DurationFactoryFunction()).bind("call_decl")),
  133                       .bind("mult_binop"),
  135                       .bind("div_binop")))))
  136           .bind("call"),
tools/clang/tools/extra/clang-tidy/abseil/DurationRewriter.cpp
   79                          hasArgument(0, expr().bind("e"))),
   95                               hasArgument(0, expr().bind("e"))),
  166           "val", match(expr(ignoringImpCasts(ZeroMatcher)).bind("val"), Node,
  178                            .bind("val"),
  192                                hasSourceExpression(expr().bind("cast_arg"))),
  195                                hasSourceExpression(expr().bind("cast_arg"))),
  198                                hasSourceExpression(expr().bind("cast_arg"))))),
tools/clang/tools/extra/clang-tidy/abseil/DurationSubtractionCheck.cpp
   26                                      .bind("function_decl")),
   27                           hasArgument(0, expr().bind("lhs_arg")))))
   28           .bind("binop"),
tools/clang/tools/extra/clang-tidy/abseil/DurationUnnecessaryConversionCheck.cpp
   41         hasArgument(0, expr().bind("arg")));
   46         hasOverloadedOperatorName("/"), hasArgument(0, expr().bind("arg")),
   53         hasArgument(0, expr().bind("arg")), hasArgument(1, factory_matcher));
   59             .bind("call"),
tools/clang/tools/extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp
   65       expr(ignoringParenCasts(stringLiteral(lengthIsOne()).bind("Literal")));
   80           .bind("ByAnyChar");
   87                          .bind("StrSplit"),
tools/clang/tools/extra/clang-tidy/abseil/NoInternalDependenciesCheck.cpp
   32           .bind("InternalDep"),
tools/clang/tools/extra/clang-tidy/abseil/NoNamespaceCheck.cpp
   26           .bind("abslNamespace"),
tools/clang/tools/extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
   39       callExpr(CallToStrcat, unless(hasAncestor(CallToEither))).bind("StrCat"),
   41   Finder->addMatcher(CallToStrappend.bind("StrAppend"), this);
   68       has(callExpr(callee(functionDecl(*Strcat))).bind("StrCat")));
tools/clang/tools/extra/clang-tidy/abseil/StrCatAppendCheck.cpp
   53                                                   expr().bind("Arg0"))))));
   65           hasArgument(0, declRefExpr(to(decl().bind("LHS")))),
   69                                  .bind("Call"))))
   70           .bind("Op"),
tools/clang/tools/extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
   46       hasArgument(0, expr().bind("needle")),
   55           hasEitherOperand(ignoringParenImpCasts(StringFind.bind("findexpr"))))
   56           .bind("expr"),
tools/clang/tools/extra/clang-tidy/abseil/TimeComparisonCheck.cpp
   25                functionDecl(TimeConversionFunction()).bind("function_decl"))))
   26           .bind("binop");
tools/clang/tools/extra/clang-tidy/abseil/TimeSubtractionCheck.cpp
   42                            .bind("e"),
   43                        callExpr(hasParent(varDecl())).bind("e"))),
   59                          .bind("e"),
   62                          .bind("e"))),
   75                            .bind("e"),
   76                        expr(hasParent(returnStmt())).bind("e"))),
  103             .bind("func_decl")));
  115                                .bind("binop")))
  116             .bind("outer_call");
  124             .bind("binop");
  165                              .bind("arg"))),
tools/clang/tools/extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp
   39           hasArgument(1, expr().bind("arg")),
   44           .bind("OuterExpr"),
   56           argumentCountIs(1), hasArgument(0, expr().bind("arg")))
   57           .bind("OuterExpr"),
   71                hasArgument(1, expr().bind("arg")))
   72           .bind("OuterExpr"),
   82                argumentCountIs(2), hasArgument(0, expr().bind("arg")),
   85           .bind("OuterExpr"),
  111               hasArgument(0, expr().bind("arg")))))
  112           .bind("OuterExpr"),
tools/clang/tools/extra/clang-tidy/android/CloexecCheck.cpp
   48           callee(functionDecl(isExternC(), Function).bind(FuncDeclBindingStr)))
   49           .bind(FuncBindingStr),
tools/clang/tools/extra/clang-tidy/android/ComparisonInTempFailureRetryCheck.cpp
   67               binaryOperator(matchers::isComparisonOperator()).bind("binop"))),
tools/clang/tools/extra/clang-tidy/boost/UseToStringCheck.cpp
   34                                       templateArgument().bind("char_type"))))),
   39           .bind("to_string"),
tools/clang/tools/extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
   58           .bind("expr"),
   60   Finder->addMatcher(cxxConstructExpr().bind("expr"), this);
tools/clang/tools/extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
   97           .bind("condStmt"),
tools/clang/tools/extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.cpp
   25                           ignoringParenImpCasts(declRefExpr().bind("expr")))),
   28           .bind("if"),
tools/clang/tools/extra/clang-tidy/bugprone/BranchCloneCheck.cpp
   62       ifStmt(stmt().bind("if"),
   64              hasElse(stmt().bind("else"))),
   66   Finder->addMatcher(switchStmt().bind("switch"), this);
   67   Finder->addMatcher(conditionalOperator().bind("condOp"), this);
tools/clang/tools/extra/clang-tidy/bugprone/CopyConstructorInitCheck.cpp
   33           .bind("ctor"),
tools/clang/tools/extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
   99                     .bind("handle")) {}
  115                       .bind("bad_stmt"))),
  126                              .bind("bad_stmt"))),
  133           .bind("bad_stmt"),
  137   Finder->addMatcher(makeContainerMatcher(IsAHandle).bind("bad_stmt"), this);
  161           .bind("bad_stmt"),
  168           .bind("bad_stmt"),
tools/clang/tools/extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
   50       varDecl(hasGlobalStorage(), unless(hasConstantDeclaration())).bind("var"),
tools/clang/tools/extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
   64           .bind("thrower"),
tools/clang/tools/extra/clang-tidy/bugprone/FoldInitTypeCheck.cpp
   23     return hasCanonicalType(builtinType().bind(ID));
   46           .bind("Call"),
   55           .bind("Call"),
   63           .bind("Call"),
   72           .bind("Call"),
tools/clang/tools/extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
   39           .bind("record_decl"),
   45   Finder->addMatcher(friendDecl().bind("friend_decl"), this);
tools/clang/tools/extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
   71                                templateTypeParmDecl().bind("type-parm-decl")))),
   73           .bind("parm-var");
   84           .bind("ctor");
tools/clang/tools/extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp
   33                             .bind("end")))),
   35           .bind("alg");
   46           .bind("erase"),
tools/clang/tools/extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
   57           .bind("CastExpr"),
tools/clang/tools/extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
  158           expr(forFunction(functionDecl().bind("func"))).bind("condition")),
  158           expr(forFunction(functionDecl().bind("func"))).bind("condition")),
  164                          .bind("loop-stmt"),
tools/clang/tools/extra/clang-tidy/bugprone/IntegerDivisionCheck.cpp
   40               castExpr(hasCastKind(CK_IntegralToFloating)).bind("FloatCast")),
   44           .bind("IntDiv"),
tools/clang/tools/extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
   63   Finder->addMatcher(predefinedExpr(hasAncestor(lambdaExpr())).bind("E"),
tools/clang/tools/extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
   34                        .bind("BinOp"))))
   35           .bind("StrLen");
   62                          .bind("Alloc"),
   66                          .bind("Alloc"),
   69       cxxNewExpr(isArray(), hasArraySize(BadArg)).bind("Alloc"), this);
tools/clang/tools/extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp
   37           .bind("Calc");
   44   const auto Cast = expr(anyOf(ExplicitCast, ImplicitCast)).bind("Cast");
tools/clang/tools/extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
   79                                templateTypeParmDecl().bind("type-parm-decl")))),
   81           .bind("parm-var");
   87                           .bind("lookup")),
   91           .bind("call-move"),
tools/clang/tools/extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
   59   const auto Inner = expr(isInMacro(), unless(compoundStmt())).bind("inner");
   61       stmt(anyOf(ifStmt(hasThen(Inner)), ifStmt(hasElse(Inner)).bind("else"),
   63           .bind("outer"),
tools/clang/tools/extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
  531       allOf(to(varDecl().bind(VarDeclName)),
  566       arrayType(hasElementType(isAnyCharacter())).bind(DestArrayTyName))));
  580           .bind(WrongLengthExprName);
  585           allOf(on(expr(AnyOfStringTy).bind("Foo")),
  587           .bind(WrongLengthExprName);
  625       hasAnyArgument(allOf(unless(SizeExpr), expr().bind(DestMallocExprName))));
  633       cxxNewExpr(hasArraySize(expr().bind(DestMallocExprName))));
  639       to(anyOf(varDecl(CharTyArray).bind(DestVarDeclName),
  640                varDecl(hasInitializer(AnyOfDestInit)).bind(DestVarDeclName))));
  644       declRefExpr(allOf(to(varDecl(AnyOfCharTy).bind(DestVarDeclName)),
  645                         expr().bind(UnknownDestName)))
  646           .bind(DestExprName);
  651                   expr().bind(DestExprName)),
  662       allOf(to(decl().bind(SrcVarDeclName)),
  663             anyOf(hasAncestor(cxxMemberCallExpr().bind(SrcExprName)),
  664                   expr().bind(SrcExprName))));
  667       ignoringImpCasts(anyOf(stringLiteral().bind(SrcExprName),
  668                              hasDescendant(stringLiteral().bind(SrcExprName)),
  706                 ignoringImpCasts(integerLiteral().bind(WrongLengthExprName)),
  712                                       anyOf(hasDefinition(binaryOperator().bind(
  716             expr().bind(LengthExprName)));
  775   Finder->addMatcher(callExpr(AnyOfMatchers).bind(FunctionExprName), this);
  781           .bind(FunctionExprName),
  785                      has(callExpr(Memchr).bind(FunctionExprName))))
  786           .bind(CastExprName),
tools/clang/tools/extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
   89                                     type(anything()).bind("castToType"))),
   91                                     type(anything()).bind("thisType")))))))
   92                      .bind("member")),
tools/clang/tools/extra/clang-tidy/bugprone/PosixReturnCheck.cpp
   38           .bind("ltzop"),
   47           .bind("atop"),
   58           .bind("binop"),
tools/clang/tools/extra/clang-tidy/bugprone/SizeofContainerCheck.cpp
   28                .bind("sizeof"),
tools/clang/tools/extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
   89           has(hasUnqualifiedDesugaredType(type().bind("sizeof-arg-type")))),
   91           hasUnqualifiedDesugaredType(type().bind("sizeof-arg-type"))))))));
  102             .bind("sizeof-constant"),
  110             .bind("sizeof-integer-call"),
  118             .bind("sizeof-this"),
  131                          .bind("sizeof-charp"),
  159           .bind("sizeof-pointer-to-aggregate"),
  170             .bind("sizeof-compare-constant"),
  177                          .bind("sizeof-comma-expr"),
  182       arrayType(hasElementType(recordType().bind("elem-type")));
  183   const auto ElemPtrType = pointerType(pointee(type().bind("elem-ptr-type")));
  185       type(anyOf(ElemType, ElemPtrType, type())).bind("num-type")));
  186   const auto DenomType = qualType(hasCanonicalType(type().bind("denom-type")));
  196           .bind("sizeof-divide-expr"),
  203                          .bind("sizeof-multiply-sizeof"),
  212           .bind("sizeof-multiply-sizeof"),
  220           .bind("sizeof-sizeof-expr"),
  228           hasUnqualifiedDesugaredType(type().bind("left-ptr-type")))))))),
  230           hasUnqualifiedDesugaredType(type().bind("right-ptr-type")))))))));
  244           .bind("sizeof-in-ptr-arithmetic-mul"),
  250                          .bind("sizeof-in-ptr-arithmetic-div"),
tools/clang/tools/extra/clang-tidy/bugprone/StringConstructorCheck.cpp
   51   const auto BoundStringLiteral = stringLiteral().bind("str");
   72               hasArgument(0, CharExpr.bind("swapped-parameter")),
   74               hasArgument(0, ZeroExpr.bind("empty-string")),
   76               hasArgument(0, NegativeExpr.bind("negative-length")),
   78               hasArgument(0, LargeLengthExpr.bind("large-length"))))
   79           .bind("constructor"),
   91               hasArgument(1, ZeroExpr.bind("empty-string")),
   93               hasArgument(1, NegativeExpr.bind("negative-length")),
   95               hasArgument(1, LargeLengthExpr.bind("large-length")),
   97               allOf(hasArgument(0, ConstStrLiteral.bind("literal-with-length")),
   99                                        integerLiteral().bind("int"))))))
  100           .bind("constructor"),
  107                        hasArgument(0, expr().bind("from-ptr")),
  109           .bind("constructor"),
tools/clang/tools/extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp
   30                                          qualType().bind("type")))))))),
   43                       .bind("expr"))),
tools/clang/tools/extra/clang-tidy/bugprone/StringLiteralWithEmbeddedNulCheck.cpp
   31   Finder->addMatcher(stringLiteral(containsNul()).bind("strlit"), this);
   38       ignoringParenImpCasts(stringLiteral(containsNul()).bind("truncated"));
tools/clang/tools/extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
  121     return expr(ignoringImpCasts(expr().bind(RefName)),
  122                 ignoringImpCasts(hasType(enumDecl().bind(DeclName))));
  130           .bind("diffEnumOp"),
tools/clang/tools/extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
   29                              .bind("char-zero-fill")),
   40                               hasArgument(1, integerLiteral().bind("num-fill")),
   51           .bind("call"),
tools/clang/tools/extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
   86       stringLiteral(isConcatenatedLiteral(MaxConcatenatedTokens)).bind("str");
   92   Finder->addMatcher(StringsInitializerList.bind("list"), this);
tools/clang/tools/extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
   22       stmt(anyOf(ifStmt(hasThen(nullStmt().bind("semi")),
   24                  forStmt(hasBody(nullStmt().bind("semi"))),
   25                  cxxForRangeStmt(hasBody(nullStmt().bind("semi"))),
   26                  whileStmt(hasBody(nullStmt().bind("semi")))))
   27           .bind("stmt"),
tools/clang/tools/extra/clang-tidy/bugprone/SuspiciousStringCompareCheck.cpp
  102           .bind("decl");
  104       callExpr(hasDeclaration(FunctionCompareDecl)).bind("call");
  123             .bind("missing-comparison"),
  133                            .bind("logical-not-comparison"),
  141           .bind("invalid-conversion"),
  150           .bind("suspicious-operator"),
  164                          .bind("invalid-comparison"),
tools/clang/tools/extra/clang-tidy/bugprone/SwappedArgumentsCheck.cpp
   22   Finder->addMatcher(callExpr().bind("call"), this);
tools/clang/tools/extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp
   31                                    .bind("closestLoop")),
   33           .bind("continue"),
tools/clang/tools/extra/clang-tidy/bugprone/ThrowKeywordMissingCheck.cpp
   36           .bind("temporary-exception-not-thrown"),
tools/clang/tools/extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
   58           .bind(LoopVarName);
   64           .bind(LoopVarCastName);
   73           .bind(LoopUpperBoundName);
   78       expr(ignoringParenImpCasts(hasType(isInteger()))).bind(LoopIncrementName);
   94           .bind(LoopName),
tools/clang/tools/extra/clang-tidy/bugprone/UndefinedMemoryManipulationCheck.cpp
   36                          .bind("dest"),
   44           .bind("src"),
tools/clang/tools/extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp
   65               cxxConstructorDecl(ofClass(cxxRecordDecl().bind("parent")))),
   69                   .bind("construct"))),
tools/clang/tools/extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp
   94   Finder->addMatcher(cxxMethodDecl(ofClass(cxxRecordDecl().bind("class")),
  100                          .bind("copyAssignmentOperator"),
tools/clang/tools/extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
   37           .bind("temp");
   40                        hasParent(compoundStmt().bind("compound")),
   45           .bind("expr"),
   83       match(expr(hasDescendant(typeLoc().bind("t"))), *E, *Result.Context);
tools/clang/tools/extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
   60           .bind("match"))));
tools/clang/tools/extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
  254                               .bind("declref");
  262                     .bind("operator")),
  272       declRefExpr(hasDeclaration(equalsNode(MovedVariable))).bind("declref");
  327           .bind("reinit");
  382                hasArgument(0, declRefExpr().bind("arg")),
  383                anyOf(hasAncestor(lambdaExpr().bind("containing-lambda")),
  384                      hasAncestor(functionDecl().bind("containing-func"))),
  386           .bind("call-move");
  401           .bind("moving-call"),
tools/clang/tools/extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
  226           .bind("method"),
tools/clang/tools/extra/clang-tidy/cert/CommandProcessorCheck.cpp
   24                      .bind("func")),
   31           .bind("expr"),
tools/clang/tools/extra/clang-tidy/cert/DontModifyStdNamespaceCheck.cpp
   29           .bind("nmspc"),
tools/clang/tools/extra/clang-tidy/cert/FloatLoopCounter.cpp
   21       forStmt(hasIncrement(expr(hasType(realFloatingPointType())))).bind("for"),
tools/clang/tools/extra/clang-tidy/cert/LimitedRandomnessCheck.cpp
   22                          .bind("randomGenerator"),
tools/clang/tools/extra/clang-tidy/cert/PostfixOperatorCheck.cpp
   27                          .bind("decl"),
tools/clang/tools/extra/clang-tidy/cert/ProperlySeededRandomGeneratorCheck.cpp
   54           .bind("seed"),
   65       cxxConstructExpr(RandomGeneratorEngineTypeMatcher).bind("ctor"), this);
   74           .bind("srand"),
tools/clang/tools/extra/clang-tidy/cert/SetLongJmpCheck.cpp
   68           .bind("expr"),
tools/clang/tools/extra/clang-tidy/cert/StaticObjectExceptionCheck.cpp
   31                         cxxConstructorDecl(unless(isNoThrow())).bind("func")))),
   33                         functionDecl(unless(isNoThrow())).bind("func")))),
   35                         functionDecl(unless(isNoThrow())).bind("func"))))))
   36           .bind("var"),
tools/clang/tools/extra/clang-tidy/cert/StrToNumCheck.cpp
   29                   .bind("converter"),
   32                   .bind("formatted")))))
   33           .bind("expr"),
tools/clang/tools/extra/clang-tidy/cert/ThrownExceptionTypeCheck.cpp
   28               .bind("expr")))),
tools/clang/tools/extra/clang-tidy/cert/VariadicFunctionDefCheck.cpp
   27           .bind("func"),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/AvoidGotoCheck.cpp
   42                          .bind("goto"),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
   35                          .bind("vardecl"),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.cpp
   28       varDecl(GlobalVarDecl, unless(isDefinition())).bind("referencee")));
   33           .bind("var"),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
   47           .bind("cast"),
   60                          .bind("binary_op"),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/NoMallocCheck.cpp
   46                          .bind("allocation"),
   52           .bind("realloc"),
   58           .bind("free"),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
   77               declRefExpr(unless(ConsideredOwner)).bind("deleted_variable")))
   78           .bind("delete_expr"),
   92           .bind("legacy_consumer"),
  100                          .bind("owner_assignment"),
  106                     .bind("owner_initialization")),
  117               .bind("owner_member_initializer"))));
  128                          .bind("bad_owner_creation_assignment"),
  137                                      hasType(autoType().bind("deduced_type")))))
  138                     .bind("bad_owner_creation_variable")),
  145           expr(unless(ConsideredOwner)).bind("expected_owner_argument"),
  152                          expr(CreatesOwner).bind("bad_owner_creation_argument"),
  154                              .bind("bad_owner_creation_parameter"))),
  161                                      .bind("bad_owner_return")),
  163           .bind("function_decl"),
  170           has(fieldDecl(IsOwnerType).bind("undestructed_owner_member")),
  173           .bind("non_destructor_class"),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.cpp
   65           .bind("cast"),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
   51           hasBase(ignoringImpCasts(hasType(constantArrayType().bind("type")))),
   52           hasIndex(expr().bind("index")), unless(hasAncestor(isImplicit())))
   53           .bind("expr"),
   60               0, hasType(cxxRecordDecl(hasName("::std::array")).bind("type"))),
   61           hasArgument(1, expr().bind("index")))
   62           .bind("expr"),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProBoundsPointerArithmeticCheck.cpp
   34           .bind("expr"),
   40           .bind("expr"),
   49           .bind("expr"),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeConstCastCheck.cpp
   23   Finder->addMatcher(cxxConstCastExpr().bind("cast"), this);
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeCstyleCastCheck.cpp
   37       cStyleCastExpr(unless(isInTemplateInstantiation())).bind("cast"), this);
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
   53                 hasLHS(memberExpr(member(fieldDecl().bind("fieldDecl")))))),
  270           .bind("ctor"),
  282           .bind("record"),
  294           .bind("var"),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeReinterpretCastCheck.cpp
   23   Finder->addMatcher(cxxReinterpretCastExpr().bind("cast"), this);
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeStaticCastDowncastCheck.cpp
   24       cxxStaticCastExpr(unless(isInTemplateInstantiation())).bind("cast"),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeUnionAccessCheck.cpp
   25           .bind("expr"),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
   25   Finder->addMatcher(vAArgExpr().bind("va_use"), this);
   28       callExpr(callee(functionDecl(isVariadic()))).bind("callvararg"), this);
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp
   38   const auto OfBaseClass = ofClass(cxxRecordDecl().bind("BaseDecl"));
   41           .bind("DerivedDecl");
   66       expr(anyOf(SlicesObjectInAssignment, SlicesObjectInCtor)).bind("Call"),
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
   42               has(cxxDestructorDecl(unless(isImplicit())).bind("dtor")),
   44                       .bind("copy-ctor")),
   47                       .bind("copy-assign")),
   49                       .bind("move-ctor")),
   52                       .bind("move-assign"))))
   53           .bind("class-def"),
tools/clang/tools/extra/clang-tidy/darwin/AvoidSpinlockCheck.cpp
   23           .bind("spinlock"),
tools/clang/tools/extra/clang-tidy/darwin/DispatchOnceNonstaticCheck.cpp
   28           .bind("non-static-var"),
   35       objcIvarDecl(hasType(asString("dispatch_once_t"))).bind("ivar"), this);
tools/clang/tools/extra/clang-tidy/fuchsia/DefaultArgumentsCallsCheck.cpp
   19   Finder->addMatcher(cxxDefaultArgExpr().bind("stmt"), this);
tools/clang/tools/extra/clang-tidy/fuchsia/DefaultArgumentsDeclarationsCheck.cpp
   19   Finder->addMatcher(parmVarDecl(hasDefaultArgument()).bind("decl"), this);
tools/clang/tools/extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
   97       cxxRecordDecl(allOf(hasBases(), isDefinition())).bind("decl"), this);
tools/clang/tools/extra/clang-tidy/fuchsia/OverloadedOperatorCheck.cpp
   31   Finder->addMatcher(functionDecl(isFuchsiaOverloadedOperator()).bind("decl"),
tools/clang/tools/extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp
   45                          .bind("decl"),
tools/clang/tools/extra/clang-tidy/fuchsia/TrailingReturnCheck.cpp
   39           .bind("decl"),
tools/clang/tools/extra/clang-tidy/fuchsia/VirtualInheritanceCheck.cpp
   31   Finder->addMatcher(cxxRecordDecl(hasDirectVirtualBaseClass()).bind("decl"),
tools/clang/tools/extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
   32           .bind("cast"),
tools/clang/tools/extra/clang-tidy/google/AvoidNSObjectNewCheck.cpp
  101       objcMessageExpr(isClassMessage(), hasSelector("new")).bind("new_call"),
  105           .bind("new_override"),
tools/clang/tools/extra/clang-tidy/google/AvoidThrowingObjCExceptionCheck.cpp
   25   Finder->addMatcher(objcThrowStmt().bind("throwStmt"), this);
   30           .bind("raiseException"),
tools/clang/tools/extra/clang-tidy/google/DefaultArgumentsCheck.cpp
   23           .bind("Decl"),
tools/clang/tools/extra/clang-tidy/google/ExplicitConstructorCheck.cpp
   29           .bind("ctor"),
   36           .bind("conversion"),
tools/clang/tools/extra/clang-tidy/google/ExplicitMakePairCheck.cpp
   41                        .bind("declref")))))
   42           .bind("call"),
tools/clang/tools/extra/clang-tidy/google/FunctionNamingCheck.cpp
  109           .bind("function"),
tools/clang/tools/extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
   43                          .bind("using_decl"),
tools/clang/tools/extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp
   76           .bind("global_var"),
   81                          .bind("global_const"),
tools/clang/tools/extra/clang-tidy/google/IntegerTypesCheck.cpp
   69                          .bind("tl"),
tools/clang/tools/extra/clang-tidy/google/NonConstReferences.cpp
   41               qualType(unless(isConstQualified())).bind("referenced_type"))),
   43           .bind("param"),
tools/clang/tools/extra/clang-tidy/google/OverloadedUnaryAndCheck.cpp
   31           .bind("overload"),
   37                          .bind("overload"),
tools/clang/tools/extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
   43     Finder->addMatcher(namespaceDecl(isAnonymous()).bind("anonymousNamespace"),
tools/clang/tools/extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
  151                           .bind("class"))),
  158                           .bind("class"))),
  165                               .bind("class"))),
  174                               .bind("class")))))
  175           .bind("method");
  177   Finder->addMatcher(expr(anyOf(callExpr(callee(Methods)).bind("call"),
  178                                 declRefExpr(to(Methods)).bind("ref")),
  184           .bind("using"),
  193       typeAliasDecl(hasName("::testing::TestCase")).bind("test-case");
  197           .bind("typeloc"),
  201           .bind("using"),
tools/clang/tools/extra/clang-tidy/google/UsingNamespaceDirectiveCheck.cpp
   26     Finder->addMatcher(usingDirectiveDecl().bind("usingNamespace"), this);
tools/clang/tools/extra/clang-tidy/hicpp/ExceptionBaseclassCheck.cpp
   33                     hasType(substTemplateTypeParmType().bind("templ_type")))),
   39           eachOf(has(expr(hasType(namedDecl().bind("decl")))), anything()))
   40           .bind("bad_throw"),
tools/clang/tools/extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
   33                         fieldDecl(isBitField()).bind("bitfield")))),
   34                     ignoringImpCasts(declRefExpr().bind("non-enum-condition"))),
   39                   declRefExpr(hasType(enumType())).bind("enum-condition"))))))
   40           .bind("switch"),
   46                            .bind("else-if"),
tools/clang/tools/extra/clang-tidy/hicpp/NoAssemblerCheck.cpp
   27   Finder->addMatcher(asmStmt().bind("asm-stmt"), this);
   28   Finder->addMatcher(fileScopeAsmDecl().bind("asm-file-scope"), this);
   29   Finder->addMatcher(varDecl(isAsm()).bind("asm-var"), this);
tools/clang/tools/extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
   22       expr(ignoringImpCasts(hasType(isSignedInteger()))).bind("signed-operand");
   44           .bind("binary-no-sign-interference"),
   54           .bind("binary-sign-interference"),
   60           .bind("unary-signed"),
tools/clang/tools/extra/clang-tidy/linuxkernel/MustCheckErrsCheck.cpp
   25       callExpr(callee(ErrFn), hasParent(NonCheckingStmts)).bind("call"),
   31                          .bind("transitive_call"),
tools/clang/tools/extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
   33                       callee(namedDecl(hasName("dyn_cast")).bind("dyn_cast")))))
   34           .bind("call"))));
   42                   .bind("assign")))))),
   52                                  .bind("func")),
   53                       hasArgument(0, anyOf(declRefExpr().bind("arg"),
   54                                            cxxMemberCallExpr().bind("arg"))))))
   55           .bind("rhs");
   63                            hasLHS(implicitCastExpr().bind("lhs")),
   66                      .bind("and"))),
tools/clang/tools/extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp
   21       cxxRecordDecl(hasName("::llvm::Register")).bind("registerClassDecl"));
   25           hasType(qualType(isUnsignedInteger()).bind("varType")),
   30               .bind("var"))),
tools/clang/tools/extra/clang-tidy/llvm/TwineLocalCheck.cpp
   23   Finder->addMatcher(varDecl(hasType(TwineType)).bind("variable"), this);
tools/clang/tools/extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
   60                            .bind("name-decl"),
   67             .bind("name-decl"),
tools/clang/tools/extra/clang-tidy/misc/MisplacedConstCheck.cpp
   26                         .bind("typedef")))))
   27           .bind("decl"),
tools/clang/tools/extra/clang-tidy/misc/NewDeleteOverloadsCheck.cpp
  150           .bind("func"),
tools/clang/tools/extra/clang-tidy/misc/NonCopyableObjects.cpp
   37       namedDecl(hasAnyName("::FILE", "FILE", "std::FILE")).bind("type_decl"));
   41                   .bind("type_decl"));
   46           .bind("decl"),
   48   Finder->addMatcher(parmVarDecl(BadPOSIXType).bind("decl"), this);
   50       expr(unaryOperator(hasOperatorName("*"), BadEitherType)).bind("expr"),
tools/clang/tools/extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.cpp
   75                                    forEach(InterestingField.bind("field")))
   76                          .bind("record"),
tools/clang/tools/extra/clang-tidy/misc/RedundantExpressionCheck.cpp
  339   return expr(isIntegerConstantExpr()).bind(CstId);
  365       expr(unless(isIntegerConstantExpr())).bind(SymId));
  393           .bind(Id);
  420       isComparisonOperator(), expr().bind(Id),
  424                   hasRHS(matchSymbolicExpr(Id)), expr().bind(SwapId)))));
  431           .bind(CastId);
  436           .bind(NegateId);
  453           .bind(OverloadId);
  661           .bind("binary"),
  669                          .bind("cond"),
  687           .bind("call"),
  702                   .bind("logical-bitwise-confusion"))),
  711                              integerLiteral().bind("shift-const")))))),
  713                          integerLiteral().bind("and-const"))))
  714           .bind("left-right-shift-confusion"),
  732                          .bind("binop-const-compare-to-const"),
  740           .bind("binop-const-compare-to-sym"),
  748                          .bind("binop-const-compare-to-binop-const"),
  763           .bind("comparisons-of-symbol-and-const"),
tools/clang/tools/extra/clang-tidy/misc/StaticAssertCheck.cpp
   40           .bind("isAlwaysFalse");
   43                          .bind("castExpr")));
   47           hasEitherOperand(ignoringImpCasts(stringLiteral().bind("assertMSG"))),
   50           .bind("assertExprRoot"),
   61           .bind("condition");
   70                          .bind("condStmt"),
   75           .bind("condStmt"),
tools/clang/tools/extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
   33   Finder->addMatcher(cxxThrowExpr().bind("throw"), this);
   34   Finder->addMatcher(cxxCatchStmt().bind("catch"), this);
tools/clang/tools/extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.cpp
   35                     hasName("operator="), ofClass(recordDecl().bind("class")))
   36           .bind("method");
   39           .bind("method");
   42       cxxMethodDecl(IsAssign, unless(HasGoodReturnType)).bind("ReturnType"),
   52           .bind("ArgumentType"),
   56       cxxMethodDecl(IsSelfAssign, anyOf(isConst(), isVirtual())).bind("cv"),
   67                          .bind("returnStmt"),
tools/clang/tools/extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp
   27           on(expr().bind("left")), callee(memberExpr().bind("reset_member")),
   27           on(expr().bind("left")), callee(memberExpr().bind("reset_member")),
   31                                                   decl().bind("left_class"))))),
   33               on(expr().bind("right")),
   34               callee(memberExpr().bind("release_member")),
   38                                         decl().bind("right_class")))))))))
   39           .bind("reset_call"),
tools/clang/tools/extra/clang-tidy/misc/UnusedAliasDeclsCheck.cpp
   28   Finder->addMatcher(namespaceAliasDecl(isExpansionInMainFile()).bind("alias"),
   30   Finder->addMatcher(nestedNameSpecifier().bind("nns"), this);
tools/clang/tools/extra/clang-tidy/misc/UnusedParametersCheck.cpp
   34           .bind("function"),
tools/clang/tools/extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
   54   Finder->addMatcher(usingDecl(isExpansionInMainFile()).bind("using"), this);
   55   auto DeclMatcher = hasDeclaration(namedDecl().bind("used"));
   59   Finder->addMatcher(declRefExpr().bind("used"), this);
   60   Finder->addMatcher(callExpr(callee(unresolvedLookupExpr().bind("used"))),
   64           forEachTemplateArgument(templateArgument().bind("used"))))),
   67                          templateArgument().bind("used")))),
tools/clang/tools/extra/clang-tidy/modernize/AvoidBindCheck.cpp
  126           hasArgument(0, declRefExpr(to(functionDecl().bind("f"))).bind("ref")))
  126           hasArgument(0, declRefExpr(to(functionDecl().bind("f"))).bind("ref")))
  127           .bind("bind"),
tools/clang/tools/extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
   57           .bind("typeloc"),
tools/clang/tools/extra/clang-tidy/modernize/ConcatNestedNamespacesCheck.cpp
   69   Finder->addMatcher(ast_matchers::namespaceDecl().bind("namespace"), this);
tools/clang/tools/extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.cpp
   37   auto IoStateDecl = typedefDecl(hasAnyName(DeprecatedTypes)).bind("TypeDecl");
   41   Finder->addMatcher(typeLoc(loc(IoStateType)).bind("TypeLoc"), this);
tools/clang/tools/extra/clang-tidy/modernize/LoopConvertCheck.cpp
   51       declRefExpr(to(varDecl(hasType(isInteger())).bind(ConditionVarName)))));
   57       .bind(InitVarName);
   61   return declRefExpr(to(varDecl(hasType(isInteger())).bind(IncrementVarName)));
   84       expr(hasType(isInteger())).bind(ConditionBoundName);
   97       .bind(LoopNameArray);
  132           .bind(BeginCallName);
  139           .bind(InitVarName);
  142       varDecl(hasInitializer(anything())).bind(EndVarName);
  150                      declRefExpr(to(varDecl().bind(ConditionEndVarName)))),
  151                  ignoringParenImpCasts(expr(EndCallMatcher).bind(EndCallName)),
  153                      expr(EndCallMatcher).bind(EndCallName)))));
  156       ignoringParenImpCasts(declRefExpr(to(varDecl().bind(ConditionVarName)))));
  173                               .bind(DerefByValueResultName)),
  178                           .bind(DerefByRefResultName))))))))));
  198                                           .bind(IncrementVarName))))),
  203                                                .bind(IncrementVarName))))))))
  204       .bind(LoopNameIterator);
  269       expr(anyOf(ignoringParenImpCasts(expr(SizeCallMatcher).bind(EndCallName)),
  271                      expr(SizeCallMatcher).bind(EndCallName))))));
  274       varDecl(hasInitializer(EndInitMatcher)).bind(EndVarName);
  278                      varDecl(hasType(isInteger())).bind(ConditionEndVarName)))),
  296       .bind(LoopNamePseudoArray);
tools/clang/tools/extra/clang-tidy/modernize/MakeSharedCheck.cpp
   26                                      qualType().bind(PointerType)))))))));
tools/clang/tools/extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
   95                               .bind(NewExpression)),
   97               .bind(ConstructorCall)))),
  104           hasArgument(0, cxxNewExpr(CanCallCtor).bind(NewExpression)),
  106           .bind(ResetCall),
tools/clang/tools/extra/clang-tidy/modernize/MakeUniqueCheck.cpp
   28               0, templateArgument(refersToType(qualType().bind(PointerType)))),
tools/clang/tools/extra/clang-tidy/modernize/PassByValueCheck.cpp
  157                               .bind("Param"))))),
  162                   .bind("Initializer")))
  163           .bind("Ctor"),
tools/clang/tools/extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
  126       stringLiteral(unless(hasParent(predefinedExpr()))).bind("lit"), this);
tools/clang/tools/extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
   52                          .bind(FunctionId),
   54   Finder->addMatcher(typedefNameDecl().bind(TypedefId), this);
   60   Finder->addMatcher(fieldDecl(FunctionOrMemberPointer).bind(FieldId), this);
   61   Finder->addMatcher(varDecl(FunctionOrMemberPointer).bind(VarId), this);
   65       cStyleCastExpr(CastDestinationIsFunction).bind(CStyleCastId), this);
   67       cxxStaticCastExpr(CastDestinationIsFunction).bind(NamedCastId), this);
   69       cxxReinterpretCastExpr(CastDestinationIsFunction).bind(NamedCastId),
   72       cxxConstCastExpr(CastDestinationIsFunction).bind(NamedCastId), this);
   73   Finder->addMatcher(lambdaExpr().bind(LambdaId), this);
tools/clang/tools/extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
  106                          .bind(AutoPtrTokenId),
  113                          .bind(AutoPtrTokenId),
  123       expr(isLValue(), hasType(AutoPtrType)).bind(AutoPtrOwnershipTransferId);
tools/clang/tools/extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
   35   const auto RandomFunc = hasArgument(2, expr().bind("randomFunc"));
   40                has(implicitCastExpr(has(declRefExpr().bind("name")))))
   41           .bind("match"),
tools/clang/tools/extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp
   32           .bind("ctor");
   42           .bind("fn"),
tools/clang/tools/extra/clang-tidy/modernize/ShrinkToFitCheck.cpp
   28       memberExpr(member(valueDecl().bind("ContainerDecl")));
   30       declRefExpr(hasDeclaration(valueDecl().bind("ContainerDecl")));
   49           hasArgument(0, SwapParam.bind("ContainerToShrink")),
   51           .bind("CopyAndSwapTrick"),
tools/clang/tools/extra/clang-tidy/modernize/UnaryStaticAssertCheck.cpp
   23   Finder->addMatcher(staticAssertDecl().bind("static_assert"), this);
tools/clang/tools/extra/clang-tidy/modernize/UseAutoCheck.cpp
  254       .bind(IteratorDeclStmtId);
  272       .bind(DeclWithNewId);
  278       .bind(DeclWithCastId);
  290       hasTemplateArgument(0, refersToType(qualType().bind("arg")));
  299       .bind(DeclWithTemplateCastId);
tools/clang/tools/extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp
   31           has(ignoringParenImpCasts(integerLiteral().bind("literal"))),
   34           anyOf(hasParent(explicitCastExpr().bind("cast")), anything())),
   43                      ignoringParenImpCasts(integerLiteral().bind("literal"))),
   45                      ignoringParenImpCasts(integerLiteral().bind("literal"))))),
tools/clang/tools/extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
  217                   .bind("default"))),
  227                   .bind("existing"))),
tools/clang/tools/extra/clang-tidy/modernize/UseEmplaceCheck.cpp
   93           .bind("ctor");
  102           .bind("make"));
  117                          .bind("call"),
tools/clang/tools/extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
  214   Finder->addMatcher(cxxDestructorDecl(isDefinition()).bind(SpecialFunction),
  229           .bind(SpecialFunction),
  238           .bind(SpecialFunction),
tools/clang/tools/extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
   49           .bind(SpecialFunction),
   53       cxxMethodDecl(isDeleted(), unless(isPublic())).bind(DeletedNotPublic),
tools/clang/tools/extra/clang-tidy/modernize/UseNodiscardCheck.cpp
  113           .bind("no_discard"),
tools/clang/tools/extra/clang-tidy/modernize/UseNoexceptCheck.cpp
   39               .bind("del-dtor"))
   40           .bind("funcDecl"),
   49           .bind("funcDecl"),
   57           .bind("parmVarDecl"),
tools/clang/tools/extra/clang-tidy/modernize/UseNullptrCheck.cpp
   47       .bind(CastSequence);
tools/clang/tools/extra/clang-tidy/modernize/UseOverrideCheck.cpp
   39         cxxMethodDecl(isOverride(), unless(cxxDestructorDecl())).bind("method"),
   42     Finder->addMatcher(cxxMethodDecl(isOverride()).bind("method"), this);
tools/clang/tools/extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
  378                .bind("Func");
  381   Finder->addMatcher(friendDecl(hasDescendant(F)).bind("Friend"), this);
tools/clang/tools/extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
   42           .bind("FunctorClass");
   54                           .bind("Functor"))))))
   55           .bind("FunctorParentLoc"),
   66                          .bind("FuncInst"),
tools/clang/tools/extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.cpp
   28           .bind("using_decl"),
   34           .bind("decl_ref_expr"),
   40                          .bind("call_expr"),
   46                          .bind("init_call_expr"),
tools/clang/tools/extra/clang-tidy/modernize/UseUsingCheck.cpp
   26   Finder->addMatcher(typedefDecl(unless(isInstantiated())).bind("typedef"),
tools/clang/tools/extra/clang-tidy/mpi/BufferDerefCheck.cpp
   22   Finder->addMatcher(callExpr().bind("CE"), this);
tools/clang/tools/extra/clang-tidy/mpi/TypeMismatchCheck.cpp
  240   Finder->addMatcher(callExpr().bind("CE"), this);
tools/clang/tools/extra/clang-tidy/objc/AvoidNSErrorInitCheck.cpp
   26                          .bind("nserrorInit"),
tools/clang/tools/extra/clang-tidy/objc/ForbiddenSubclassingCheck.cpp
   64               .bind("superclass")))
   65       .bind("subclass"),
tools/clang/tools/extra/clang-tidy/objc/MissingHashCheck.cpp
   50                              .bind("impl"))),
tools/clang/tools/extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
  108                          .bind("property"),
tools/clang/tools/extra/clang-tidy/objc/SuperSelfCheck.cpp
   88           .bind("message"),
tools/clang/tools/extra/clang-tidy/openmp/ExceptionEscapeCheck.cpp
   56                          hasStructuredBlock(stmt().bind("structured-block")))
   57                          .bind("directive"),
tools/clang/tools/extra/clang-tidy/openmp/UseDefaultNoneCheck.cpp
   35                                        .bind("clause")))))
   36           .bind("directive"),
tools/clang/tools/extra/clang-tidy/performance/FasterStringFindCheck.cpp
   66       expr(ignoringParenCasts(stringLiteral(hasSize(1)).bind("literal")));
   73           callee(functionDecl(StringFindFunctions).bind("func")),
tools/clang/tools/extra/clang-tidy/performance/ForRangeCopyCheck.cpp
   45   Finder->addMatcher(cxxForRangeStmt(hasLoopVariable(LoopVar.bind("loopVar")))
   46                          .bind("forRange"),
tools/clang/tools/extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp
   55                                  cxxOperatorCallExpr().bind("operator-call")),
   57                                                .bind("operator-call"))))
   58                       .bind("init")))
   59               .bind("faulty-var"))),
tools/clang/tools/extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp
   50                             hasDeclaration(decl().bind("IneffContObj")),
   51                             anyOf(hasType(ContainerMatcher.bind("IneffCont")),
   53                                       ContainerMatcher.bind("IneffContPtr")))))
   54                             .bind("IneffContExpr"))))))),
   60           hasArgument(2, expr().bind("AlgParam")),
   62           .bind("IneffAlg");
tools/clang/tools/extra/clang-tidy/performance/InefficientStringConcatenationCheck.cpp
   47           .bind("plusOperator");
   52                                  hasDeclaration(decl().bind("lhsStrT")))
   53                          .bind("lhsStr")),
tools/clang/tools/extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
   95       varDecl(hasInitializer(DefaultConstructorCall)).bind(VarDeclName);
   98           .bind(VarDeclStmtName);
  104           .bind(AppendCallName);
  108                                  .bind(LoopInitVarName)));
  117       hasParent(compoundStmt(has(TargetVarDefStmt)).bind(LoopParentName));
  132                          .bind(LoopEndExprName)))),
  136           .bind(LoopCounterName),
  150           .bind(RangeLoopName),
tools/clang/tools/extra/clang-tidy/performance/MoveConstArgCheck.cpp
   49           .bind("call-move");
   56   Finder->addMatcher(callExpr(ConstParamMatcher).bind("receiving-expr"), this);
   57   Finder->addMatcher(cxxConstructExpr(ConstParamMatcher).bind("receiving-expr"),
tools/clang/tools/extra/clang-tidy/performance/MoveConstructorInitCheck.cpp
   41                       cxxConstructorDecl(isCopyConstructor()).bind("ctor")))))
   42                   .bind("move-init"))),
tools/clang/tools/extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp
   29           .bind("decl"),
tools/clang/tools/extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
   76           .bind("call"),
   88           .bind("call"),
   99           .bind("call"),
  110           .bind("call"),
  120           .bind("call"),
  133           .bind("call"),
  142           .bind("call"),
  151           .bind("call"),
tools/clang/tools/extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
   50                         on(declRefExpr(to(varDecl().bind("objectArg")))));
   72                                            .bind("ctorCall")))
   73                                .bind("newVarDecl")))
   74                        .bind("declStmt")))
   75         .bind("blockStmt");
   83                          to(varDecl(hasLocalStorage()).bind("oldVarDecl")))),
tools/clang/tools/extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
   86       decl().bind("param"));
   91                    unless(isInstantiated()), decl().bind("functionDecl")),
tools/clang/tools/extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp
  106                          .bind("call"),
tools/clang/tools/extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp
   33       parmVarDecl(hasType(qualType(isConstQualified()))).bind("param");
   45           .bind("func"),
tools/clang/tools/extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
  126   Finder->addMatcher(ifStmt().bind("if"), this);
  127   Finder->addMatcher(whileStmt().bind("while"), this);
  128   Finder->addMatcher(doStmt().bind("do"), this);
  129   Finder->addMatcher(forStmt().bind("for"), this);
  130   Finder->addMatcher(cxxForRangeStmt().bind("for-range"), this);
tools/clang/tools/extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
  100       functionDecl(returns(isConstQualified()), isDefinition()).bind("func"),
tools/clang/tools/extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
   41                       .bind("size")),
   44                       .bind("empty")))
   45               .bind("container")))))));
   52                     .bind("SizeBinaryOp")),
   56               hasParent(unaryOperator(hasOperatorName("!")).bind("NegOnSize")),
   67           .bind("SizeCallExpr"),
   89                     expr(hasType(pointsTo(ValidContainer))).bind("Pointee"))),
   90             expr(hasType(ValidContainer)).bind("STLObject"));
   99           .bind("BinCmp"),
tools/clang/tools/extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
   90           .bind("x"),
tools/clang/tools/extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
   25           .bind("deleteExpr");
   30           .bind("deleteMemberExpr");
   33       declRefExpr(to(decl().bind("deletedPointer"))),
   34       memberExpr(hasDeclaration(fieldDecl().bind("deletedMemberPointer")))));
   48                      .bind("compound"))))
   49           .bind("ifWithDelete"),
tools/clang/tools/extra/clang-tidy/readability/DeletedDefaultCheck.cpp
   28       cxxMethodDecl(anyOf(cxxConstructorDecl().bind("constructor"),
   33           .bind("method-decl"),
tools/clang/tools/extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
   22       stmt(anyOf(returnStmt().bind("return"), continueStmt().bind("continue"),
   22       stmt(anyOf(returnStmt().bind("return"), continueStmt().bind("continue"),
   23                  breakStmt().bind("break"),
   24                  expr(ignoringImplicit(cxxThrowExpr().bind("throw")))));
   37                  hasElse(stmt().bind("else")))
   38               .bind("if"))),
tools/clang/tools/extra/clang-tidy/readability/FunctionSizeCheck.cpp
  151                          .bind("func"),
tools/clang/tools/extra/clang-tidy/readability/IdentifierNamingCheck.cpp
  237   Finder->addMatcher(namedDecl().bind("decl"), this);
  238   Finder->addMatcher(usingDecl().bind("using"), this);
  239   Finder->addMatcher(declRefExpr().bind("declRef"), this);
  240   Finder->addMatcher(cxxConstructorDecl().bind("classRef"), this);
  241   Finder->addMatcher(cxxDestructorDecl().bind("classRef"), this);
  242   Finder->addMatcher(typeLoc().bind("typeLoc"), this);
  243   Finder->addMatcher(nestedNameSpecifierLoc().bind("nestedNameLoc"), this);
tools/clang/tools/extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
  296           anyOf(hasParent(stmt().bind("parentStmt")), anything()),
  299           .bind("implicitCastToBool"),
  322           implicitCastExpr().bind("implicitCastFromBool"),
  325           anyOf(hasParent(implicitCastExpr().bind("furtherImplicitCast")),
tools/clang/tools/extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
  301                          .bind("functionDecl"),
tools/clang/tools/extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
   30                          .bind("decl_stmt"),
tools/clang/tools/extra/clang-tidy/readability/MagicNumbersCheck.cpp
  100   Finder->addMatcher(integerLiteral().bind("integer"), this);
  102     Finder->addMatcher(floatLiteral().bind("float"), this);
tools/clang/tools/extra/clang-tidy/readability/MisleadingIndentationCheck.cpp
  109   Finder->addMatcher(ifStmt(hasElse(stmt())).bind("if"), this);
  112           .bind("compound"),
tools/clang/tools/extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp
   24                          .bind("expr"),
tools/clang/tools/extra/clang-tidy/readability/NamedParameterCheck.cpp
   21   Finder->addMatcher(functionDecl(unless(isInstantiated())).bind("decl"), this);
tools/clang/tools/extra/clang-tidy/readability/NamespaceCommentCheck.cpp
   40     Finder->addMatcher(namespaceDecl().bind("namespace"), this);
tools/clang/tools/extra/clang-tidy/readability/NonConstParameterCheck.cpp
   21   Finder->addMatcher(parmVarDecl(unless(isInstantiated())).bind("Parm"), this);
   24   Finder->addMatcher(cxxConstructorDecl().bind("Ctor"), this);
   28   Finder->addMatcher(declRefExpr().bind("Ref"), this);
   35                          .bind("Mark"),
   37   Finder->addMatcher(varDecl(hasInitializer(anything())).bind("Mark"), this);
tools/clang/tools/extra/clang-tidy/readability/RedundantControlFlowCheck.cpp
   38                   .bind("return"))),
   41       has(compoundStmt(hasAnySubstatement(continueStmt())).bind("continue"));
tools/clang/tools/extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
   36           .bind("Decl"),
tools/clang/tools/extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp
   23                          .bind("op"),
tools/clang/tools/extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
   31           .bind("construct");
   43                   .bind("init"))),
tools/clang/tools/extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
   24                                pointsTo(decl(OnClass).bind("ptr_to_ptr"))))))
   25                     .bind("smart_pointer")),
   29                  returns(qualType(pointsTo(type().bind("getType")))))))
   30       .bind("redundant_get");
   40       recordDecl().bind("duck_typing"),
   42                         returns(qualType(pointsTo(type().bind("op->Type")))))),
   44                                                   type().bind("op*Type")))))));
   51       memberExpr(expr().bind("memberExpr"), isArrow(),
tools/clang/tools/extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
   92       cxxMemberCallExpr(on(StringExpr.bind("arg")),
   93                         callee(memberExpr().bind("member")),
   95           .bind("call");
tools/clang/tools/extra/clang-tidy/readability/RedundantStringInitCheck.cpp
   54                                      .bind("expr"))),
   56           .bind("decl"),
tools/clang/tools/extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
   69       returnStmt(has(cxxBoolLiteral(equals(Value)).bind(Id)))
   70           .bind("returns-bool");
  427              hasCondition(cxxBoolLiteral(equals(Value)).bind(BooleanId)))
  428           .bind(IfStmtId),
  439           .bind(TernaryId),
  449                            .bind(Id),
  456                            .bind(Id),
  462   auto VarAssign = declRefExpr(hasDeclaration(decl().bind(IfAssignVarId)));
  464   auto MemAssign = memberExpr(hasDeclaration(decl().bind(IfAssignVarId)));
  468                      hasLHS(expr().bind(IfAssignVariableId)),
  469                      hasRHS(cxxBoolLiteral(equals(Value)).bind(IfAssignLocId)));
  478     Finder->addMatcher(ifStmt(hasThen(Then), hasElse(Else)).bind(Id), this);
  482             .bind(Id),
  495                                  .bind(CompoundReturnId)))
  496           .bind(Id),
  507   Finder->addMatcher(translationUnitDecl().bind("top"), this);
tools/clang/tools/extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
   40               has(memberExpr().bind("member")),
   46               .bind("call")))),
tools/clang/tools/extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
   44           .bind("memberExpression"),
tools/clang/tools/extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.cpp
   26           .bind("static-def"),
tools/clang/tools/extra/clang-tidy/readability/StringCompareCheck.cpp
   33       hasArgument(0, expr().bind("str2")), argumentCountIs(1),
   34       callee(memberExpr().bind("str1")));
   39                          .bind("match1"),
   45                      hasEitherOperand(StrCompare.bind("compare")),
   46                      hasEitherOperand(integerLiteral(equals(0)).bind("zero")))
   47           .bind("match2"),
tools/clang/tools/extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.cpp
   33                                .bind("uptr")),
   35           .bind("delete"),
tools/clang/tools/extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
  200       stmt(eachOf(integerLiteral().bind(IntegerLiteralCheck::Name),
  201                   floatLiteral().bind(FloatingLiteralCheck::Name)),
tools/clang/tools/extra/clang-tidy/utils/ASTUtils.cpp
   23       "function", match(stmt(hasAncestor(functionDecl().bind("function"))),
tools/clang/tools/extra/clang-tidy/utils/DeclRefExprUtils.cpp
   48       declRefExpr(to(varDecl(equalsNode(&VarDecl)))).bind("declRef");
   79       declRefExpr(to(varDecl(equalsNode(&VarDecl)))).bind("declRef");
  122       findAll(declRefExpr(to(varDecl(equalsNode(&VarDecl)))).bind("declRef")),
  133           declRefExpr(to(varDecl(equalsNode(&VarDecl)))).bind("declRef"))),
  149               .bind("constructExpr"))),
  163               .bind("operatorCallExpr"))),
tools/clang/tools/extra/clang-tidy/utils/NamespaceAliaser.cpp
   49                         .bind("alias"))))))),
tools/clang/tools/extra/clang-tidy/zircon/TemporaryObjectsCheck.cpp
   34           .bind("temps"),
   42           .bind("temps"),
tools/clang/tools/extra/tool-template/ToolTemplate.cpp
  110       namedDecl(cxxRecordDecl(), isExpansionInMainFile()).bind("decl"),
tools/clang/tools/extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
   14     Finder->addMatcher(ast_matchers::varDecl().bind("var"), this);
tools/clang/tools/extra/unittests/clang-tidy/IncludeInserterTest.cpp
   42     Finder->addMatcher(ast_matchers::declStmt().bind("stmt"), this);
tools/clang/tools/extra/unittests/clang-tidy/NamespaceAliaserTest.cpp
   27     Finder->addMatcher(ast_matchers::callExpr().bind("foo"), this);
tools/clang/tools/extra/unittests/clang-tidy/OverlappingReplacementsTest.cpp
   31     Finder->addMatcher(varDecl(hasType(isInteger())).bind(BoundDecl), this);
   47     Finder->addMatcher(ifStmt().bind(BoundIf), this);
   72     Finder->addMatcher(varDecl(matchesName(NamePattern)).bind(BoundDecl), this);
tools/clang/tools/extra/unittests/clang-tidy/TransformerClangTidyCheckTest.cpp
   35       ifStmt(hasCondition(expr().bind(C)), hasThen(stmt().bind(T)),
   35       ifStmt(hasCondition(expr().bind(C)), hasThen(stmt().bind(T)),
   36              hasElse(stmt().bind(E))),
   99                 binaryOperator(hasOperatorName("+"), hasRHS(expr().bind("r"))),
tools/clang/tools/extra/unittests/clang-tidy/UsingInserterTest.cpp
   28     Finder->addMatcher(clang::ast_matchers::callExpr().bind("foo"), this);
tools/clang/unittests/AST/ASTImporterTest.cpp
  117             has(namedDecl(hasName(DeclToImportID)).bind(DeclToImportID))),
  222       auto FoundDecl = match(Action.ImportPredicate.bind(DeclToImportID),
  233     auto FoundDecl = match(FinalSelectPredicate.bind(DeclToVerifyID),
 1269   auto ToResults = match(chooseExpr().bind("choose"), To->getASTContext());
 1270   auto FromResults = match(chooseExpr().bind("choose"), From->getASTContext());
tools/clang/unittests/AST/ASTTraverserTest.cpp
   90   auto Result = ast_matchers::match(functionDecl(hasName(Name)).bind("fn"),
  214       classTemplateSpecializationDecl(hasName("templ")).bind("fn"),
tools/clang/unittests/AST/DataCollectionTest.cpp
  107   ASSERT_TRUE(isStmtHashEqual(declRefExpr().bind("id"), "int x, r = x;",
  109   ASSERT_FALSE(isStmtHashEqual(declRefExpr().bind("id"), "int x, r = x;",
  111   ASSERT_FALSE(isStmtHashEqual(declRefExpr().bind("id"), "int x, r = x;",
  116   ASSERT_TRUE(isStmtHashEqual(memberExpr().bind("id"),
  119   ASSERT_TRUE(isStmtHashEqual(memberExpr().bind("id"),
  122   ASSERT_TRUE(isStmtHashEqual(memberExpr().bind("id"),
  125   ASSERT_FALSE(isStmtHashEqual(memberExpr().bind("id"),
  132       isStmtHashEqual(integerLiteral().bind("id"), "int x = 0;", "int x = 0;"));
  134       isStmtHashEqual(integerLiteral().bind("id"), "int x = 0;", "int x =00;"));
  136       isStmtHashEqual(integerLiteral().bind("id"), "int x = 0;", "int x = 1;"));
  140   ASSERT_TRUE(isStmtHashEqual(floatLiteral().bind("id"), "double x = .0;",
  142   ASSERT_TRUE(isStmtHashEqual(floatLiteral().bind("id"), "double x = .10;",
  144   ASSERT_TRUE(isStmtHashEqual(floatLiteral().bind("id"), "double x = .1;",
  146   ASSERT_FALSE(isStmtHashEqual(floatLiteral().bind("id"), "double x = .0;",
  151   ASSERT_TRUE(isStmtHashEqual(stringLiteral().bind("id"), R"(char x[] = "0";)",
  153   ASSERT_FALSE(isStmtHashEqual(stringLiteral().bind("id"), R"(char x[] = "0";)",
  158   ASSERT_TRUE(isStmtHashEqual(cxxBoolLiteral().bind("id"), "bool x = false;",
  160   ASSERT_FALSE(isStmtHashEqual(cxxBoolLiteral().bind("id"), "bool x = false;",
  165   ASSERT_TRUE(isStmtHashEqual(characterLiteral().bind("id"), "char x = '0';",
  167   ASSERT_TRUE(isStmtHashEqual(characterLiteral().bind("id"),
  170   ASSERT_FALSE(isStmtHashEqual(characterLiteral().bind("id"), "char x = '0';",
tools/clang/unittests/AST/DeclMatcher.h
   34     Finder.addMatcher(AMatcher.bind(""), this);
   66     Finder.addMatcher(AMatcher.bind(""), this);
tools/clang/unittests/AST/DeclPrinterTest.cpp
  113                             namedDecl(hasName(DeclName)).bind("id"),
  138                             namedDecl(hasName(DeclName)).bind("id"),
  390       functionDecl(hasName("A"), isDefinition()).bind("id"),
  489     functionDecl(hasName("A"), isExplicitTemplateSpecialization()).bind("id"),
  499     cxxConstructorDecl(ofClass(hasName("A"))).bind("id"),
  508     cxxConstructorDecl(ofClass(hasName("A"))).bind("id"),
  517     cxxConstructorDecl(ofClass(hasName("A"))).bind("id"),
  526     cxxConstructorDecl(ofClass(hasName("A"))).bind("id"),
  536     cxxConstructorDecl(ofClass(hasName("A"))).bind("id"),
  546     cxxConstructorDecl(ofClass(hasName("A"))).bind("id"),
  556     cxxConstructorDecl(ofClass(hasName("A"))).bind("id"),
  565     cxxConstructorDecl(ofClass(hasName("A"))).bind("id"),
  574     cxxConstructorDecl(ofClass(hasName("A"))).bind("id"),
  583     cxxConstructorDecl(ofClass(hasName("A"))).bind("id"),
  592     cxxConstructorDecl(ofClass(hasName("A"))).bind("id"),
  602     cxxConstructorDecl(ofClass(hasName("A"))).bind("id"),
  612     cxxConstructorDecl(ofClass(hasName("A"))).bind("id"),
  621     cxxDestructorDecl(ofClass(hasName("A"))).bind("id"),
  630     cxxDestructorDecl(ofClass(hasName("A"))).bind("id"),
  639     cxxMethodDecl(ofClass(hasName("A"))).bind("id"),
  648     cxxMethodDecl(ofClass(hasName("A"))).bind("id"),
  658     cxxMethodDecl(ofClass(hasName("A"))).bind("id"),
  668     cxxMethodDecl(ofClass(hasName("Z"))).bind("id"),
  678     cxxMethodDecl(ofClass(hasName("Z"))).bind("id"),
  687     cxxMethodDecl(ofClass(hasName("Z"))).bind("id"),
  697     cxxMethodDecl(ofClass(hasName("Z"))).bind("id"),
  706     cxxMethodDecl(ofClass(hasName("Z"))).bind("id"),
  733       cxxMethodDecl(ofClass(hasName("Z"))).bind("id"),
  756       cxxMethodDecl(ofClass(hasName("Z"))).bind("id"),
  969     classTemplateDecl(hasName("A")).bind("id"),
  977     classTemplateDecl(hasName("A")).bind("id"),
  985     classTemplateDecl(hasName("A")).bind("id"),
  993     classTemplateDecl(hasName("A")).bind("id"),
 1001     classTemplateDecl(hasName("A")).bind("id"),
 1009     classTemplateDecl(hasName("A")).bind("id"),
 1018     classTemplateDecl(hasName("A")).bind("id"),
 1025     classTemplateDecl(hasName("A")).bind("id"),
 1033     classTemplateDecl(hasName("A")).bind("id"),
 1041     classTemplateDecl(hasName("A")).bind("id"),
 1049     classTemplateDecl(hasName("A")).bind("id"),
 1059     classTemplateSpecializationDecl().bind("id"),
 1069     classTemplateSpecializationDecl().bind("id"),
 1080     classTemplateSpecializationDecl().bind("id"),
 1088     functionTemplateDecl(hasName("A")).bind("id"),
 1096     functionTemplateDecl(hasName("A")).bind("id"),
 1104     functionTemplateDecl(hasName("A")).bind("id"),
 1111     functionTemplateDecl(hasName("A")).bind("id"),
 1118     functionTemplateDecl(hasName("A")).bind("id"),
 1127     functionTemplateDecl(hasName("A")).bind("id"),
 1287     staticAssertDecl().bind("id"),
 1300               hasDescendant(namedDecl(hasName("printThis")))).bind("id"),
 1307     namedDecl(hasName("P1")).bind("id"),
 1311     namedDecl(hasName("P2")).bind("id"),
 1319     namedDecl(hasName("P1")).bind("id"),
tools/clang/unittests/AST/MatchVerifier.h
   85   Finder.addMatcher(AMatcher.bind(""), this);
  138   Finder.addMatcher(AMatcher.bind(""), this);
tools/clang/unittests/AST/NamedDeclPrinterTest.cpp
  118                                  namedDecl(hasName(DeclName)).bind("id"),
  130                                  namedDecl(hasName(DeclName)).bind("id"),
  142                                  objcPropertyDecl(hasName(DeclName)).bind("id"),
  151   return PrintedDeclMatches(Code, Args, namedDecl(hasName(DeclName)).bind("id"),
tools/clang/unittests/AST/OMPStructuredBlockTest.cpp
   36       .bind("id");
   40   return stmt(ompExecutableDirective(isStandaloneDirective())).bind("id");
  363       .bind("id");
tools/clang/unittests/AST/StmtPrinterTest.cpp
   38                       has(compoundStmt(has(stmt().bind("id")))));
  141     cxxMemberCallExpr(anything()).bind("id"),
  155     cxxMemberCallExpr(anything()).bind("id"),
  165     lambdaExpr(anything()).bind("id"),
  174     lambdaExpr(anything()).bind("id"),
  182     lambdaExpr(anything()).bind("id"),
  192     lambdaExpr(anything()).bind("id"),
  206       CPPSource, memberExpr(anything()).bind("id"), "field",
  211       CPPSource, memberExpr(anything()).bind("id"), "this->field"));
  225   ASSERT_TRUE(PrintedStmtObjCMatches(ObjCSource, returnStmt().bind("id"),
  231   ASSERT_TRUE(PrintedStmtObjCMatches(ObjCSource, returnStmt().bind("id"),
  240                                     lambdaExpr(anything()).bind("id"),
  245       StdVer::CXX11, CPPSource, lambdaExpr(anything()).bind("id"), "[] {}",
tools/clang/unittests/ASTMatchers/ASTMatchersInternalTest.cpp
   55   DeclarationMatcher HasClassB = just(has(recordDecl(hasName("B")).bind("b")));
   78       polymorphicHas(recordDecl(hasName("B")).bind("b"));
  171       "x", match(pointerType().bind("x"), AST->getASTContext()));
tools/clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
  252     decl(hasDescendant(typeLoc().bind("x")), has(decl()));
  275     hasAnyTemplateArgument(templateArgument().bind("targ")),
  560     cxxRecordDecl(isDerivedFrom(recordDecl(hasName("X")).bind("test")))));
  688   DeclarationMatcher ClassX = has(recordDecl(hasName("::X")).bind("x"));
  697     recordDecl(hasName("A"), has(recordDecl(hasName("B")).bind("b"))));
  704     callExpr(callee(cxxMethodDecl(hasName("x")))).bind("x");
  714                    hasLHS(expr().bind("x")),
  718                    hasRHS(expr().bind("x"))));
  731   DeclarationMatcher ClassX = recordDecl(hasName("X")).bind("x");
  786     cxxOperatorCallExpr(hasOverloadedOperatorName("&&")).bind("x"),
 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"))))));
 2270     "int i = 1;", varDecl(hasType(qualType().bind("type")),
 2274                          varDecl(hasType(qualType().bind("type")),
 2281     "int i = 1;", varDecl(namedDecl(hasName("i")).bind("name"),
 2289             stmt(allOf(ifStmt().bind("if"),
 2294     stmt(allOf(ifStmt().bind("if"), has(stmt(equalsBoundNode("if")))))));
 2300     decl(allOf(recordDecl(hasName("::X::Y")).bind("record"),
 2304                          decl(allOf(recordDecl(hasName("::X")).bind("record"),
 2312       has(fieldDecl(hasName("a"), hasType(type().bind("t")))),
 2318       has(fieldDecl(hasName("a"), hasType(type().bind("t")))),
 2336     functionDecl(returns(qualType().bind("type")),
 2338                    qualType(equalsBoundNode("type")))).bind("decl"))),
 2351       hasName("f"), forEachDescendant(varDecl().bind("d")),
 2365         varDecl(hasType(recordDecl(hasName("StringRef")))).bind("var")))),
 2369       .bind("data"),
 2381         varDecl(hasType(recordDecl(hasName("StringRef")))).bind("var")))),
 2385       .bind("data")));
tools/clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
 1197   EXPECT_TRUE(matches("struct S {};", qualType().bind("loc")));
 1552         stmt(has(stmt(equalsNode(TypedNode)))).bind(""))),
 1561         decl(has(decl(equalsNode(TypedNode)))).bind(""))),
 1571         hasType(type(equalsNode(TypedNode)).bind(""))))))),
 1578     "class X { class Y {}; };", recordDecl(hasName("::X::Y")).bind(""),
 1581     "void f() { if (true) if(true) {} }", ifStmt().bind(""),
 1585     fieldDecl(hasName("y"), hasType(type().bind(""))).bind("decl"),
 1585     fieldDecl(hasName("y"), hasType(type().bind(""))).bind("decl"),
tools/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
   82       varDecl(hasDescendant(isInteger())).bind("x"))),
   97     qualType(asString("int ***"), forEachDescendant(pointerType().bind("x"))),
  109     qualType(functionType(), forEach(qualType(isInteger()).bind("x"))),
  620     declRefExpr(to(varDecl(hasName("y")))).bind("arg");
  621   DeclarationMatcher IntParam = parmVarDecl(hasType(isInteger())).bind("param");
  633     declRefExpr(to(varDecl(hasName("y")))).bind("arg");
  634   DeclarationMatcher IntParam = parmVarDecl(hasType(isInteger())).bind("param");
  662     declRefExpr(to(varDecl(hasName("y")))).bind("arg");
  663   DeclarationMatcher IntParam = parmVarDecl(hasType(isInteger())).bind("param");
  686     declRefExpr(to(varDecl(hasName("y")))).bind("arg");
  687   DeclarationMatcher IntParam = parmVarDecl(hasType(isInteger())).bind("param");
  712       forEachDescendant(varDecl().bind("v")),
 1819     switchStmt(forEachSwitchCase(caseStmt().bind("x"))),
 1896                                        recordDecl(hasName("C"), forEach(fieldDecl(hasName("x")).bind("x"))),
 1902                                        recordDecl(hasName("C"), forEach(fieldDecl().bind("f"))),
 1910                forEach(recordDecl(forEach(fieldDecl().bind("f"))))),
 1917                                                   forEachDescendant(fieldDecl(hasName("x")).bind("x"))),
 1923     isDefinition(), decl().bind("x"), hasName("C"));
 1942     recordDecl(hasName("C"), forEachDescendant(fieldDecl().bind("f"))),
 1951       forEachDescendant(fieldDecl().bind("f"))))),
 1959     compoundStmt(forEachDescendant(ifStmt().bind("if")),
 1960                  forEachDescendant(whileStmt().bind("while"))),
 1966     "class X { int a; };", recordDecl(decl().bind("x"), has(fieldDecl())),
 1993       recordDecl().bind("x"), hasName("::X"),
 1997     "class X {};", recordDecl(recordDecl().bind("x"), hasName("::X"),
 2003       decl().bind("x"),
 2008     cxxRecordDecl(decl().bind("x"), hasMethod(hasName("g"))),
 2012     recordDecl(decl().bind("x"),
 2018     callExpr(expr().bind("x"), hasAnyArgument(integerLiteral(equals(42)))),
 2022     functionDecl(decl().bind("x"), hasAnyParameter(hasName("y"))),
 2026     functionDecl(decl().bind("x"),
 2032     usingDecl(decl().bind("x"), hasAnyUsingShadowDecl(hasTargetDecl(
 2037     cxxRecordDecl(decl().bind("x"), isDerivedFrom("::A")),
 2042     cxxRecordDecl(decl().bind("x"), isDerivedFrom("C")),
 2046     functionDecl(decl().bind("x"), hasAncestor(recordDecl(hasName("::A")))),
 2053     ifStmt(stmt().bind("x"), hasAncestor(recordDecl(hasName("::A")))),
 2057     recordDecl(hasName("::A"), decl().bind("x"), unless(hasName("fooble"))),
 2061     cxxConstructorDecl(hasName("::A::A"), decl().bind("x"),
 2069     recordDecl(hasName("C"), forEachDescendant(decl().bind("decl"))),
 2073     recordDecl(hasName("C"), forEachDescendant(decl().bind("decl"))),
 2080     recordDecl(hasName("::A"), findAll(recordDecl(hasName("::A")).bind("v"))),
 2087     recordDecl(hasName("::A"), findAll(fieldDecl().bind("v"))),
 2095                findAll(decl(anyOf(recordDecl(hasName("::A")).bind("v"),
 2096                                   fieldDecl().bind("v"))))),
 2101     recordDecl(hasName("::A"), findAll(recordDecl(isDefinition()).bind("v"))),
 2139     fieldDecl(hasAncestor(recordDecl(hasAncestor(recordDecl().bind("r"))))),
 2150       ).bind("d")
 2165               0, varDecl(hasType(asString("int"))))).bind("f"))).bind("v"),
 2165               0, varDecl(hasType(asString("int"))))).bind("f"))).bind("v"),
 2303     stmt().bind("node"), std::make_unique<HasDuplicateParents>()));
 2364     nestedNameSpecifier(specifiesType(asString("struct ns::E"))).bind("nns"),
 2372     loc(nestedNameSpecifier()).bind("loc"),
 2401                         forEach(nestedNameSpecifier().bind("x"))),
 2416                  forEachDescendant(nestedNameSpecifier().bind("x"))),
 2444                            forEach(nestedNameSpecifierLoc().bind("x"))),
 2459                  forEachDescendant(nestedNameSpecifierLoc().bind("x"))),
 2485     "class X { class Y {}; };", recordDecl(hasName("::X")).bind("X"),
 2487       "X", decl(hasDescendant(recordDecl(hasName("X::Y")).bind("Y"))),
 2490     "class X { class Y {}; };", recordDecl(hasName("::X")).bind("X"),
 2492       "X", decl(hasDescendant(recordDecl(hasName("X::Z")).bind("Z"))),
 2498     "void f() { if (1) { for (;;) { } } }", ifStmt().bind("if"),
 2500       "if", stmt(hasDescendant(forStmt().bind("for"))), "for")));
 2502     "void f() { if (1) { for (;;) { } } }", ifStmt().bind("if"),
 2504       "if", stmt(hasDescendant(declStmt().bind("decl"))), "decl")));
 2509     "class X { class Y {}; };", recordDecl(hasName("::X")).bind("X"),
 2511       "X", recordDecl(has(recordDecl(hasName("X::Y")).bind("Y"))), "Y")));
 2513     "class X { class Y {}; };", recordDecl(hasName("::X")).bind("X"),
 2515       "X", recordDecl(has(recordDecl(hasName("X::Z")).bind("Z"))), "Z")));
 2563                          forEachOverridden(cxxMethodDecl().bind("overridden")))
 2564         .bind("override");
tools/clang/unittests/Analysis/CFGBuildResult.h
   58   Finder.addMatcher(ast_matchers::functionDecl().bind("func"), &Callback);
tools/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
   51   return expr(Matcher, hasAncestor(compoundStmt().bind("stmt"))).bind("expr");
   51   return expr(Matcher, hasAncestor(compoundStmt().bind("stmt"))).bind("expr");
tools/clang/unittests/StaticAnalyzer/Reusables.h
   24   auto Matches = match(decl(hasDescendant(What.bind("root"))),
tools/clang/unittests/Tooling/RangeSelectorTest.cpp
   71       matchCode("static int x = 0;", varDecl().bind("bound_node_id"));
  102                                              .bind("init")))
  103                           .bind("decl")))
  104                   .bind("expr")))
  105           .bind("stmt");
  135   TestMatch Match = matchCode(Code, callExpr().bind(Call));
  151   TestMatch Match = matchCode(Code, callExpr().bind(Call));
  179   auto Matcher = callExpr(hasArgument(0, expr().bind(Arg0)),
  180                           hasArgument(1, expr().bind(Arg1)))
  181                      .bind(Call);
  194   TestMatch Match = matchCode(Code, returnStmt().bind(ID));
  201   TestMatch Match = matchCode(Code, expr().bind(ID));
  208   TestMatch Match = matchCode(Code, expr().bind(ID));
  223   TestMatch Match = matchCode(Code, memberExpr().bind(ID));
  242   TestMatch Match = matchCode(Code, memberExpr().bind(ID));
  258   TestMatch Match = matchCode(Code, memberExpr().bind(ID));
  274   TestMatch Match = matchCode(Code, memberExpr().bind(ID));
  285   TestMatch Match = matchCode(Code, functionDecl().bind(ID));
  297   TestMatch Match = matchCode(Code, declRefExpr(to(functionDecl())).bind(Ref));
  310   TestMatch Match = matchCode(Code, cxxCtorInitializer().bind(Init));
  332   TestMatch Match = matchCode(Code, declRefExpr(to(functionDecl())).bind(Ref));
  351   TestMatch Match = matchCode(Code, callExpr().bind(ID));
  366   TestMatch Match = matchCode(Code, callExpr().bind(ID));
  381   TestMatch Match = matchCode(Code, callExpr().bind(ID));
  399       matchCode(Code, callExpr(callee(functionDecl(hasName("bar")))).bind(ID));
  414   TestMatch Match = matchCode(Code, callExpr().bind(ID));
  430   TestMatch Match = matchCode(Code, callExpr().bind(ID));
  449   TestMatch Match = matchCode(Code, callExpr().bind(ID));
  470   TestMatch Match = matchCode(Code, compoundStmt().bind(ID));
  479   TestMatch Match = matchCode(Code, compoundStmt().bind(ID));
  498   TestMatch Match = matchCode(Code, initListExpr().bind(ID));
  512   TestMatch Match = matchCode(Code, initListExpr().bind(ID));
  533   TestMatch Match = matchCode(Code, ifStmt().bind(ID));
  547   TestMatch Match = matchCode(Code, ifStmt().bind(ID));
  560   TestMatch Match = matchCode(Code, functionDecl(hasName("bad")).bind(Fun));
  573   TestMatch Match = matchCode(Code, returnStmt().bind(Ret));
  586       matchCode(Code, binaryOperator(hasLHS(expr().bind(ID))).bind(Op));
  586       matchCode(Code, binaryOperator(hasLHS(expr().bind(ID))).bind(Op));
  598   TestMatch Match = matchCode(Code, binaryOperator().bind(Op));
tools/clang/unittests/Tooling/RefactoringCallbacksTest.cpp
   41   expectRewritten(Code, Expected, declStmt().bind("id"), Callback);
   48   expectRewritten(Code, Expected, declStmt().bind("id"), Callback);
   55   expectRewritten(Code, Expected, declStmt().bind("id"), Callback);
   62   expectRewritten(Code, Expected, expr(integerLiteral()).bind("id"), Callback);
   72                           hasFalseExpression(expr().bind("should-be")))
   73           .bind("always-false"),
   84                       .bind("id"),
   94       ifStmt(hasCondition(cxxBoolLiteral(equals(false)))).bind("id"), Callback);
  102   expectRewritten(Code, Expected, declStmt().bind("id"), **Callback);
  111                   varDecl(hasInitializer(expr().bind("init"))).bind("decl"),
  111                   varDecl(hasInitializer(expr().bind("init"))).bind("decl"),
  122                   varDecl(hasInitializer(expr().bind("init"))).bind("decl"),
  122                   varDecl(hasInitializer(expr().bind("init"))).bind("decl"),
tools/clang/unittests/Tooling/SourceCodeBuildersTest.cpp
   71   auto StmtMatch = matchStmt(Snippet, expr().bind("expr"));
   83                    0, ignoringElidableConstructorCall(expr().bind("arg")))))));
  132   auto StmtMatch = matchStmt(Snippet, expr().bind("expr"));
tools/clang/unittests/Tooling/StencilTest.cpp
   94                                                            .bind("init")))
   95                                         .bind("decl")))
   96                      .bind("expr")))
   97             .bind("stmt"));
  128       Snippet, ifStmt(hasCondition(expr().bind(Condition)),
  129                       hasThen(stmt().bind(Then)), hasElse(stmt().bind(Else))));
  129                       hasThen(stmt().bind(Then)), hasElse(stmt().bind(Else))));
  147       Snippet, ifStmt(hasCondition(expr().bind(Condition)),
  148                       hasThen(stmt().bind(Then)), hasElse(stmt().bind(Else))));
  148                       hasThen(stmt().bind(Then)), hasElse(stmt().bind(Else))));
  164   auto StmtMatch = matchStmt(Snippet, ifStmt(hasCondition(stmt().bind("a1")),
  165                                              hasThen(stmt().bind("a2"))));
  177   auto StmtMatch = matchStmt(Snippet, expr().bind(Id));
  184   auto StmtMatch = matchStmt(Snippet, expr().bind(Id));
  315                              hasObjectExpression(expr().bind("obj")))))));
  336                              hasObjectExpression(expr().bind("obj")))))));
tools/clang/unittests/Tooling/TransformerTest.cpp
  148                                          .bind(StringExpr)),
  172                                .bind(Flag)),
  228   RewriteRule Rule = makeRule(functionDecl(hasName("bad")).bind(Fun),
  260   testRule(makeRule(declRefExpr(to(functionDecl(hasName("bad")))).bind(Ref),
  278   Transformer T(makeRule(declRefExpr(to(functionDecl())).bind(Ref),
  287   RewriteRule Rule = makeRule(memberExpr(member(hasName("bad"))).bind(E),
  341   testRule(makeRule(memberExpr().bind(E), change(member(E), text("good"))),
  372   testRule(makeRule(memberExpr().bind(MemExpr),
  391   testRule(makeRule(returnStmt().bind(Ret),
  412   testRule(makeRule(declStmt().bind(Decl),
  431   testRule(makeRule(declStmt().bind(Decl), remove(statement(Decl))), Input,
  452   testRule(makeRule(ifStmt(hasCondition(expr().bind(C)),
  453                            hasThen(stmt().bind(T)), hasElse(stmt().bind(E))),
  453                            hasThen(stmt().bind(T)), hasElse(stmt().bind(E))),
  465                                .bind(Flag)),
  558   RewriteRule DeclRule = makeRule(functionDecl(hasName("f2")).bind("fun"),
  579   Transformer T(makeRule(binaryOperator().bind(O), change(node(O), AlwaysFail)),
  592   Transformer T(makeRule(binaryOperator(hasLHS(expr().bind(L))).bind(O),
  592   Transformer T(makeRule(binaryOperator(hasLHS(expr().bind(L))).bind(O),
  607   Transformer T(makeRule(expr().bind(E), change(node(E), text("DELETE_EXPR"))),
  644   RewriteRule R = makeRule(integerLiteral(equals(0)).bind(zero),
  741   testRule(makeRule(binaryOperator(hasLHS(expr().bind(E))),
  759   testRule(makeRule(binaryOperator(hasRHS(expr().bind(E))),
  774   RewriteRule R = makeRule(integerLiteral(equals(0)).bind(zero),