|
reference, declaration → definition
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),