Lines Matching +full:clang +full:- +full:4

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
14 border-bottom: 1px solid black;
25 if (row.style.display != 'table-cell')
26 row.style.display = 'table-cell';
32 <body onLoad="toggle(location.hash.substring(1, location.hash.length - 6))">
34 <!--#include virtual="../menu.html.incl"-->
46 <li><a href="#decl-matchers">Node Matchers:</a> Matchers that match a specific type of AST node.</l…
47 <li><a href="#narrowing-matchers">Narrowing Matchers:</a> Matchers that match attributes on AST nod…
48 <li><a href="#traversal-matchers">Traversal Matchers:</a> Matchers that allow traversal between AST…
72 <!-- ======================================================================= -->
73 <h2 id="decl-matchers">Node Matchers</h2>
74 <!-- ======================================================================= -->
76 <p>Node matchers are at the core of matcher expressions - they specify the type
100 <tr style="text-align:left"><th>Return type</th><th>Name</th><th>Parameters</th></tr>
101 <!-- START_DECL_MATCHERS -->
103clang.llvm.org/doxygen/classclang_1_1CXXCtorInitializer.html">CXXCtorInitializer</a>&gt;</td><td c…
104 <tr><td colspan="4" class="doc" id="cxxCtorInitializer0"><pre>Matches constructor initializers.
114clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
115 <tr><td colspan="4" class="doc" id="accessSpecDecl0"><pre>Matches C++ access specifier declarations.
127clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
128 <tr><td colspan="4" class="doc" id="classTemplateDecl0"><pre>Matches C++ class template declaration…
135clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
136 <tr><td colspan="4" class="doc" id="classTemplateSpecializationDecl0"><pre>Matches C++ class templa…
147clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
148 <tr><td colspan="4" class="doc" id="cxxConstructorDecl0"><pre>Matches C++ constructor declarations.
160clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
161 <tr><td colspan="4" class="doc" id="cxxConversionDecl0"><pre>Matches conversion operator declaratio…
168clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
169 <tr><td colspan="4" class="doc" id="cxxDestructorDecl0"><pre>Matches explicit C++ destructor declar…
179clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
180 <tr><td colspan="4" class="doc" id="cxxMethodDecl0"><pre>Matches method declarations.
187clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
188 <tr><td colspan="4" class="doc" id="cxxRecordDecl0"><pre>Matches C++ class declarations.
196clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
197 <tr><td colspan="4" class="doc" id="decl0"><pre>Matches declarations.
207clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
208 <tr><td colspan="4" class="doc" id="declaratorDecl0"><pre>Matches declarator declarations (field, v…
209 and non-type template parameter declarations).
218clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
219 <tr><td colspan="4" class="doc" id="enumConstantDecl0"><pre>Matches enum constants.
228clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
229 <tr><td colspan="4" class="doc" id="enumDecl0"><pre>Matches enum declarations.
238clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
239 <tr><td colspan="4" class="doc" id="fieldDecl0"><pre>Matches field declarations.
248clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
249 <tr><td colspan="4" class="doc" id="friendDecl0"><pre>Matches friend declarations.
258clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
259 <tr><td colspan="4" class="doc" id="functionDecl0"><pre>Matches function declarations.
266clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
267 <tr><td colspan="4" class="doc" id="functionTemplateDecl0"><pre>Matches C++ function template decla…
274clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
275 <tr><td colspan="4" class="doc" id="labelDecl0"><pre>Matches a declaration of label.
285clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
286 <tr><td colspan="4" class="doc" id="linkageSpecDecl0"><pre>Matches a declaration of a linkage speci…
295clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
296 <tr><td colspan="4" class="doc" id="namedDecl0"><pre>Matches a declaration of anything that could h…
308clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
309 <tr><td colspan="4" class="doc" id="namespaceAliasDecl0"><pre>Matches a declaration of a namespace …
319clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
320 <tr><td colspan="4" class="doc" id="namespaceDecl0"><pre>Matches a declaration of a namespace.
330clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
331 <tr><td colspan="4" class="doc" id="nonTypeTemplateParmDecl0"><pre>Matches non-type template parame…
340clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
341 <tr><td colspan="4" class="doc" id="objcInterfaceDecl0"><pre>Matches Objective-C interface declarat…
349clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
350 <tr><td colspan="4" class="doc" id="parmVarDecl0"><pre>Matches parameter variable declarations.
359clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
360 <tr><td colspan="4" class="doc" id="recordDecl0"><pre>Matches class, struct, and union declarations.
370clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
371 <tr><td colspan="4" class="doc" id="staticAssertDecl0"><pre>Matches a C++ static_assert declaration.
385clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
386 <tr><td colspan="4" class="doc" id="templateTypeParmDecl0"><pre>Matches template type parameter dec…
395clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
396 <tr><td colspan="4" class="doc" id="translationUnitDecl0"><pre>Matches the top declaration context.
408clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
409 <tr><td colspan="4" class="doc" id="typeAliasDecl0"><pre>Matches type alias declarations.
419clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
420 <tr><td colspan="4" class="doc" id="typedefDecl0"><pre>Matches typedef declarations.
430clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
431 <tr><td colspan="4" class="doc" id="typedefNameDecl0"><pre>Matches typedef name declarations.
441clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
442 <tr><td colspan="4" class="doc" id="unresolvedUsingTypenameDecl0"><pre>Matches unresolved using val…
457clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
458 <tr><td colspan="4" class="doc" id="unresolvedUsingValueDecl0"><pre>Matches unresolved using value …
469clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
470 <tr><td colspan="4" class="doc" id="usingDecl0"><pre>Matches using declarations.
479clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
480 <tr><td colspan="4" class="doc" id="usingDirectiveDecl0"><pre>Matches using namespace declarations.
489clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
490 <tr><td colspan="4" class="doc" id="valueDecl0"><pre>Matches any value declaration.
498clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
499 <tr><td colspan="4" class="doc" id="varDecl0"><pre>Matches variable declarations.
502 "field" declarations in Clang parlance.
509clang.llvm.org/doxygen/classclang_1_1NestedNameSpecifierLoc.html">NestedNameSpecifierLoc</a>&gt;</…
510 <tr><td colspan="4" class="doc" id="nestedNameSpecifierLoc0"><pre>Same as nestedNameSpecifier but m…
514clang.llvm.org/doxygen/classclang_1_1NestedNameSpecifier.html">NestedNameSpecifier</a>&gt;</td><td…
515 <tr><td colspan="4" class="doc" id="nestedNameSpecifier0"><pre>Matches nested name specifiers.
529clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;</td><td class="name" onclick=…
530 <tr><td colspan="4" class="doc" id="qualType0"><pre>Matches QualTypes in the clang AST.
534clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
535 <tr><td colspan="4" class="doc" id="addrLabelExpr0"><pre>Matches address of label statements (GNU e…
546clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
547 <tr><td colspan="4" class="doc" id="arraySubscriptExpr0"><pre>Matches array subscript expressions.
556clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
557 <tr><td colspan="4" class="doc" id="asmStmt0"><pre>Matches asm statements.
566clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
567 <tr><td colspan="4" class="doc" id="atomicExpr0"><pre>Matches atomic builtins.
573clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
574 <tr><td colspan="4" class="doc" id="binaryConditionalOperator0"><pre>Matches binary conditional ope…
581clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
582 <tr><td colspan="4" class="doc" id="binaryOperator0"><pre>Matches binary operator expressions.
589clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
590 <tr><td colspan="4" class="doc" id="breakStmt0"><pre>Matches break statements.
599clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
600 <tr><td colspan="4" class="doc" id="cStyleCastExpr0"><pre>Matches a C-style cast expression.
607clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
608 <tr><td colspan="4" class="doc" id="callExpr0"><pre>Matches call expressions.
617clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
618 <tr><td colspan="4" class="doc" id="caseStmt0"><pre>Matches case statements inside switch statement…
627clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
628 <tr><td colspan="4" class="doc" id="castExpr0"><pre>Matches any cast nodes of Clang's AST.
640clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
641 <tr><td colspan="4" class="doc" id="characterLiteral0"><pre>Matches character literals (also matche…
643 Not matching Hex-encoded chars (e.g. 0x1234, which is a IntegerLiteral),
652clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
653 <tr><td colspan="4" class="doc" id="compoundLiteralExpr0"><pre>Matches compound (i.e. non-scalar) l…
656 int array[4] = {1};
661clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
662 <tr><td colspan="4" class="doc" id="compoundStmt0"><pre>Matches compound statements.
669clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
670 <tr><td colspan="4" class="doc" id="conditionalOperator0"><pre>Matches conditional operator express…
677clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
678 <tr><td colspan="4" class="doc" id="continueStmt0"><pre>Matches continue statements.
687clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
688 <tr><td colspan="4" class="doc" id="cudaKernelCallExpr0"><pre>Matches CUDA kernel call expression.
695clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
696 <tr><td colspan="4" class="doc" id="cxxBindTemporaryExpr0"><pre>Matches nodes where temporaries are…
705clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
706 <tr><td colspan="4" class="doc" id="cxxBoolLiteral0"><pre>Matches bool literals.
713clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
714 <tr><td colspan="4" class="doc" id="cxxCatchStmt0"><pre>Matches catch statements.
722clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
723 <tr><td colspan="4" class="doc" id="cxxConstCastExpr0"><pre>Matches a const_cast expression.
732clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
733 <tr><td colspan="4" class="doc" id="cxxConstructExpr0"><pre>Matches constructor call expressions (i…
744clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
745 <tr><td colspan="4" class="doc" id="cxxDefaultArgExpr0"><pre>Matches the value of a default argumen…
755clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
756 <tr><td colspan="4" class="doc" id="cxxDeleteExpr0"><pre>Matches delete expressions.
765clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
766 <tr><td colspan="4" class="doc" id="cxxDynamicCastExpr0"><pre>Matches a dynamic_cast expression.
779clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
780 <tr><td colspan="4" class="doc" id="cxxForRangeStmt0"><pre>Matches range-based for statements.
788clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
789 <tr><td colspan="4" class="doc" id="cxxFunctionalCastExpr0"><pre>Matches functional cast expressions
798clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
799 <tr><td colspan="4" class="doc" id="cxxMemberCallExpr0"><pre>Matches member call expressions.
807clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
808 <tr><td colspan="4" class="doc" id="cxxNewExpr0"><pre>Matches new expressions.
817clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
818 <tr><td colspan="4" class="doc" id="cxxNullPtrLiteralExpr0"><pre>Matches nullptr literal.
822clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
823 <tr><td colspan="4" class="doc" id="cxxOperatorCallExpr0"><pre>Matches overloaded operator calls.
838clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
839 <tr><td colspan="4" class="doc" id="cxxReinterpretCastExpr0"><pre>Matches a reinterpret_cast expres…
850clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
851 <tr><td colspan="4" class="doc" id="cxxStaticCastExpr0"><pre>Matches a C++ static_cast expression.
865clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
866 <tr><td colspan="4" class="doc" id="cxxTemporaryObjectExpr0"><pre>Matches functional cast expressio…
873clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
874 <tr><td colspan="4" class="doc" id="cxxThisExpr0"><pre>Matches implicit and explicit this expressio…
885clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
886 <tr><td colspan="4" class="doc" id="cxxThrowExpr0"><pre>Matches throw expressions.
894clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
895 <tr><td colspan="4" class="doc" id="cxxTryStmt0"><pre>Matches try statements.
903clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
904 <tr><td colspan="4" class="doc" id="cxxUnresolvedConstructExpr0"><pre>Matches unresolved constructo…
913clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
914 <tr><td colspan="4" class="doc" id="declRefExpr0"><pre>Matches expressions that refer to declaratio…
922clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
923 <tr><td colspan="4" class="doc" id="declStmt0"><pre>Matches declaration statements.
932clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
933 <tr><td colspan="4" class="doc" id="defaultStmt0"><pre>Matches default statements inside switch sta…
942clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
943 <tr><td colspan="4" class="doc" id="designatedInitExpr0"><pre>Matches C99 designated initializer ex…
950clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
951 <tr><td colspan="4" class="doc" id="doStmt0"><pre>Matches do statements.
960clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
961 <tr><td colspan="4" class="doc" id="explicitCastExpr0"><pre>Matches explicit cast expressions.
964 C-style cast, a functional-style cast, or a keyword cast.
968 Note: the name "explicitCast" is chosen to match Clang's terminology, as
969 Clang uses the term "cast" to apply to implicit conversions as well as to
981clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
982 <tr><td colspan="4" class="doc" id="expr0"><pre>Matches expressions.
989clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
990 <tr><td colspan="4" class="doc" id="exprWithCleanups0"><pre>Matches expressions that introduce clea…
991 of the sub-expression's evaluation.
998clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
999 <tr><td colspan="4" class="doc" id="floatLiteral0"><pre>Matches float literals of all sizes encodin…
1007clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1008 <tr><td colspan="4" class="doc" id="forStmt0"><pre>Matches for statements.
1016clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1017 <tr><td colspan="4" class="doc" id="gnuNullExpr0"><pre>Matches GNU __null expression.
1021clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1022 <tr><td colspan="4" class="doc" id="gotoStmt0"><pre>Matches goto statements.
1032clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1033 <tr><td colspan="4" class="doc" id="ifStmt0"><pre>Matches if statements.
1040clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1041 <tr><td colspan="4" class="doc" id="implicitCastExpr0"><pre>Matches the implicit cast nodes of Clan…
1048clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1049 <tr><td colspan="4" class="doc" id="implicitValueInitExpr0"><pre>Matches implicit initializers of i…
1058clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1059 <tr><td colspan="4" class="doc" id="initListExpr0"><pre>Matches init list expressions.
1070clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1071 <tr><td colspan="4" class="doc" id="integerLiteral0"><pre>Matches integer literals of all sizes enc…
1074 Does not match character-encoded integers such as L'a'.
1078clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1079 <tr><td colspan="4" class="doc" id="labelStmt0"><pre>Matches label statements.
1089clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1090 <tr><td colspan="4" class="doc" id="lambdaExpr0"><pre>Matches lambda expressions.
1097clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1098 <tr><td colspan="4" class="doc" id="materializeTemporaryExpr0"><pre>Matches nodes where temporaries…
1113clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1114 <tr><td colspan="4" class="doc" id="memberExpr0"><pre>Matches member expressions.
1118 void x() { this-&gt;x(); x(); Y y; y.x(); a; this-&gt;b; Y::b; }
1122 matches this-&gt;x, x, y.x, a, this-&gt;b
1126clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1127 <tr><td colspan="4" class="doc" id="nullStmt0"><pre>Matches null statements.
1135clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1136 <tr><td colspan="4" class="doc" id="objcMessageExpr0"><pre>Matches ObjectiveC Message invocation ex…
1146clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1147 <tr><td colspan="4" class="doc" id="opaqueValueExpr0"><pre>Matches opaque value expressions. They a…
1156clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1157 <tr><td colspan="4" class="doc" id="parenExpr0"><pre>Matches parentheses used in expressions.
1165clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1166 <tr><td colspan="4" class="doc" id="parenListExpr0"><pre>Matches paren list expressions.
1182clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1183 <tr><td colspan="4" class="doc" id="predefinedExpr0"><pre>Matches predefined identifier expressions…
1190clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1191 <tr><td colspan="4" class="doc" id="returnStmt0"><pre>Matches return statements.
1200clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1201 <tr><td colspan="4" class="doc" id="stmt0"><pre>Matches statements.
1210clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1211 <tr><td colspan="4" class="doc" id="stmtExpr0"><pre>Matches statement expression (GNU extension).
1213 Example match: ({ int X = 4; X; })
1214 int C = ({ int X = 4; X; });
1218clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1219 <tr><td colspan="4" class="doc" id="stringLiteral0"><pre>Matches string literals (also matches wide…
1227clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1228 <tr><td colspan="4" class="doc" id="substNonTypeTemplateParmExpr0"><pre>Matches substitutions of no…
1235 matches "N" in the right-hand side of "static const int n = N;"
1239clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1240 <tr><td colspan="4" class="doc" id="switchCase0"><pre>Matches case and default statements inside sw…
1249clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1250 <tr><td colspan="4" class="doc" id="switchStmt0"><pre>Matches switch statements.
1259clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1260 <tr><td colspan="4" class="doc" id="unaryExprOrTypeTraitExpr0"><pre>Matches sizeof (C99), alignof (…
1270clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1271 <tr><td colspan="4" class="doc" id="unaryOperator0"><pre>Matches unary operator expressions.
1278clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1279 <tr><td colspan="4" class="doc" id="unresolvedLookupExpr0"><pre>Matches reference to a name that ca…
1293clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1294 <tr><td colspan="4" class="doc" id="userDefinedLiteral0"><pre>Matches user defined literal operator…
1300clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
1301 <tr><td colspan="4" class="doc" id="whileStmt0"><pre>Matches while statements.
1310clang.llvm.org/doxygen/classclang_1_1TemplateArgument.html">TemplateArgument</a>&gt;</td><td class…
1311 <tr><td colspan="4" class="doc" id="templateArgument0"><pre>Matches template arguments.
1321clang.llvm.org/doxygen/classclang_1_1TypeLoc.html">TypeLoc</a>&gt;</td><td class="name" onclick="t…
1322 <tr><td colspan="4" class="doc" id="typeLoc0"><pre>Matches TypeLocs in the clang AST.
1326clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1327 <tr><td colspan="4" class="doc" id="arrayType0"><pre>Matches all kinds of arrays.
1331 int b[4];
1334 matches "int a[]", "int b[4]" and "int c[a[0]]";
1338clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1339 <tr><td colspan="4" class="doc" id="atomicType0"><pre>Matches atomic types.
1348clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1349 <tr><td colspan="4" class="doc" id="autoType0"><pre>Matches types nodes representing C++11 auto typ…
1352 auto n = 4;
1360clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1361 <tr><td colspan="4" class="doc" id="blockPointerType0"><pre>Matches block pointer types, i.e. types…
1368clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1369 <tr><td colspan="4" class="doc" id="builtinType0"><pre>Matches builtin Types.
1382clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1383 <tr><td colspan="4" class="doc" id="complexType0"><pre>Matches C99 complex types.
1392clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1393 <tr><td colspan="4" class="doc" id="constantArrayType0"><pre>Matches C arrays with a specified cons…
1406clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1407 <tr><td colspan="4" class="doc" id="decayedType0"><pre>Matches decayed type
1418clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1419 <tr><td colspan="4" class="doc" id="dependentSizedArrayType0"><pre>Matches C++ arrays whose size is…
1431clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1432 <tr><td colspan="4" class="doc" id="elaboratedType0"><pre>Matches types specified with an elaborate…
1451clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1452 <tr><td colspan="4" class="doc" id="enumType0"><pre>Matches enum types.
1466clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1467 <tr><td colspan="4" class="doc" id="functionProtoType0"><pre>Matches FunctionProtoType nodes.
1478clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1479 <tr><td colspan="4" class="doc" id="functionType0"><pre>Matches FunctionType nodes.
1489clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1490 <tr><td colspan="4" class="doc" id="incompleteArrayType0"><pre>Matches C arrays with unspecified si…
1501clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1502 <tr><td colspan="4" class="doc" id="injectedClassNameType0"><pre>Matches injected class name types.
1513clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1514 <tr><td colspan="4" class="doc" id="lValueReferenceType0"><pre>Matches lvalue reference types.
1530clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1531 <tr><td colspan="4" class="doc" id="memberPointerType0"><pre>Matches member pointer types.
1540clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1541 <tr><td colspan="4" class="doc" id="objcObjectPointerType0"><pre>Matches an Objective-C object poin…
1555clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1556 <tr><td colspan="4" class="doc" id="parenType0"><pre>Matches ParenType nodes.
1559 int (*ptr_to_array)[4];
1560 int *array_of_ptrs[4];
1567clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1568 <tr><td colspan="4" class="doc" id="pointerType0"><pre>Matches pointer types, but does not match Ob…
1584clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1585 <tr><td colspan="4" class="doc" id="rValueReferenceType0"><pre>Matches rvalue reference types.
1601clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1602 <tr><td colspan="4" class="doc" id="recordType0"><pre>Matches record types (e.g. structs, classes).
1616clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1617 <tr><td colspan="4" class="doc" id="referenceType0"><pre>Matches both lvalue and rvalue reference t…
1632clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1633 <tr><td colspan="4" class="doc" id="substTemplateTypeParmType0"><pre>Matches types that represent t…
1646clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1647 <tr><td colspan="4" class="doc" id="templateSpecializationType0"><pre>Matches template specializati…
1661clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1662 <tr><td colspan="4" class="doc" id="templateTypeParmType0"><pre>Matches template type parameter typ…
1670clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1671 <tr><td colspan="4" class="doc" id="type0"><pre>Matches Types in the clang AST.
1675clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1676 <tr><td colspan="4" class="doc" id="typedefType0"><pre>Matches typedef types.
1685clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1686 <tr><td colspan="4" class="doc" id="unaryTransformType0"><pre>Matches types nodes representing unar…
1695clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td><td class="name" onclick="toggle(…
1696 <tr><td colspan="4" class="doc" id="variableArrayType0"><pre>Matches C arrays with a specified size…
1697 integer-constant-expression.
1709 <!--END_DECL_MATCHERS -->
1712 <!-- ======================================================================= -->
1713 <h2 id="narrowing-matchers">Narrowing Matchers</h2>
1714 <!-- ======================================================================= -->
1723 <tr style="text-align:left"><th>Return type</th><th>Name</th><th>Parameters</th></tr>
1724 <!-- START_NARROWING_MATCHERS -->
1727 <tr><td colspan="4" class="doc" id="allOf0"><pre>Matches if all given matchers match.
1734 <tr><td colspan="4" class="doc" id="anyOf0"><pre>Matches if any of the given matchers matches.
1741 <tr><td colspan="4" class="doc" id="anything0"><pre>Matches any node.
1757 <tr><td colspan="4" class="doc" id="unless0"><pre>Matches if the provided matcher does not match.
1767 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1BinaryOperator.html">Binary…
1768 <tr><td colspan="4" class="doc" id="hasOperatorName0"><pre>Matches the operator Name of operator ex…
1777 <tr><td colspan="4" class="doc" id="equals2"><pre>Matches literals that are equal to the given valu…
1782 Usable as: Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CharacterLiteral.html">C…
1783 …t;<a href="http://clang.llvm.org/doxygen/classclang_1_1FloatingLiteral.html">FloatingLiteral</a>&g…
1787 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXCatchStmt.html">CXXCatch…
1788 <tr><td colspan="4" class="doc" id="isCatchAll0"><pre>Matches a C++ catch statement that has a catc…
1803 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXConstructExpr.html">CXXC…
1804 <tr><td colspan="4" class="doc" id="argumentCountIs1"><pre>Checks that a call expression or a const…
1813 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXConstructExpr.html">CXXC…
1814 <tr><td colspan="4" class="doc" id="isListInitialization0"><pre>Matches a constructor call expressi…
1818 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXConstructExpr.html">CXXC…
1819 <tr><td colspan="4" class="doc" id="requiresZeroInitialization0"><pre>Matches a constructor call ex…
1832 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXConstructorDecl.html">CX…
1833 <tr><td colspan="4" class="doc" id="isCopyConstructor0"><pre>Matches constructor declarations that …
1845 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXConstructorDecl.html">CX…
1846 <tr><td colspan="4" class="doc" id="isDefaultConstructor0"><pre>Matches constructor declarations th…
1858 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXConstructorDecl.html">CX…
1859 <tr><td colspan="4" class="doc" id="isDelegatingConstructor0"><pre>Matches constructors that delega…
1867 S::S() : S(0) {} #4
1868 cxxConstructorDecl(isDelegatingConstructor()) will match #3 and #4, but not
1873 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXConstructorDecl.html">CX…
1874 <tr><td colspan="4" class="doc" id="isExplicit0"><pre>Matches constructor and conversion declaratio…
1882 explicit operator bool(); #4
1885 cxxConversionDecl(isExplicit()) will match #4, but not #3.
1889 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXConstructorDecl.html">CX…
1890 <tr><td colspan="4" class="doc" id="isMoveConstructor0"><pre>Matches constructor declarations that …
1902 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXConversionDecl.html">CXX…
1903 <tr><td colspan="4" class="doc" id="isExplicit1"><pre>Matches constructor and conversion declaratio…
1911 explicit operator bool(); #4
1914 cxxConversionDecl(isExplicit()) will match #4, but not #3.
1918 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXCtorInitializer.html">CX…
1919 <tr><td colspan="4" class="doc" id="isBaseInitializer0"><pre>Matches a constructor initializer if i…
1936 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXCtorInitializer.html">CX…
1937 <tr><td colspan="4" class="doc" id="isMemberInitializer0"><pre>Matches a constructor initializer if…
1954 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXCtorInitializer.html">CX…
1955 <tr><td colspan="4" class="doc" id="isWritten0"><pre>Matches a constructor initializer if it is exp…
1969 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXMethodDecl.html">CXXMeth…
1970 <tr><td colspan="4" class="doc" id="isConst0"><pre>Matches if the given method declaration is const.
1982 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXMethodDecl.html">CXXMeth…
1983 <tr><td colspan="4" class="doc" id="isCopyAssignmentOperator0"><pre>Matches if the given method dec…
1997 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXMethodDecl.html">CXXMeth…
1998 <tr><td colspan="4" class="doc" id="isFinal1"><pre>Matches if the given method or class declaration…
2014 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXMethodDecl.html">CXXMeth…
2015 <tr><td colspan="4" class="doc" id="isMoveAssignmentOperator0"><pre>Matches if the given method dec…
2029 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXMethodDecl.html">CXXMeth…
2030 <tr><td colspan="4" class="doc" id="isOverride0"><pre>Matches if the given method declaration overr…
2045 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXMethodDecl.html">CXXMeth…
2046 <tr><td colspan="4" class="doc" id="isPure0"><pre>Matches if the given method declaration is pure.
2057 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXMethodDecl.html">CXXMeth…
2058 <tr><td colspan="4" class="doc" id="isUserProvided0"><pre>Matches method declarations that are user
2070 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXMethodDecl.html">CXXMeth…
2071 <tr><td colspan="4" class="doc" id="isVirtual0"><pre>Matches if the given method declaration is vir…
2082 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXMethodDecl.html">CXXMeth…
2083 <tr><td colspan="4" class="doc" id="isVirtualAsWritten0"><pre>Matches if the given method declarati…
2098 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXOperatorCallExpr.html">C…
2099 <tr><td colspan="4" class="doc" id="hasOverloadedOperatorName1"><pre>Matches overloaded operator na…
2108 a &lt;&lt; a; &lt;-- This matches
2115 … href="http://clang.llvm.org/doxygen/classclang_1_1CXXOperatorCallExpr.html">CXXOperatorCallExpr</…
2119 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXRecordDecl.html">CXXReco…
2120 <tr><td colspan="4" class="doc" id="isDerivedFrom1"><pre>Overloaded method as shortcut for isDerive…
2124 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXRecordDecl.html">CXXReco…
2125 <tr><td colspan="4" class="doc" id="isExplicitTemplateSpecialization2"><pre>Matches explicit templa…
2134clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">FunctionDecl</a>&gt;, Matcher&lt;<a href="…
2138 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXRecordDecl.html">CXXReco…
2139 <tr><td colspan="4" class="doc" id="isFinal0"><pre>Matches if the given method or class declaration…
2155 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXRecordDecl.html">CXXReco…
2156 <tr><td colspan="4" class="doc" id="isLambda0"><pre>Matches the generated class of lambda expressio…
2166 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXRecordDecl.html">CXXReco…
2167 <tr><td colspan="4" class="doc" id="isSameOrDerivedFrom1"><pre>Overloaded method as shortcut for
2172 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXRecordDecl.html">CXXReco…
2173 <tr><td colspan="4" class="doc" id="isTemplateInstantiation2"><pre>Matches template instantiations …
2189clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">FunctionDecl</a>&gt;, Matcher&lt;<a href="…
2193 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>…
2194 <tr><td colspan="4" class="doc" id="argumentCountIs0"><pre>Checks that a call expression or a const…
2203 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CastExpr.html">CastExpr</a>…
2204 <tr><td colspan="4" class="doc" id="hasCastKind0"><pre>Matches casts that has a given cast kind.
2212 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CharacterLiteral.html">Char…
2213 <tr><td colspan="4" class="doc" id="equals3"><pre>Matches literals that are equal to the given valu…
2218 Usable as: Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CharacterLiteral.html">C…
2219 …t;<a href="http://clang.llvm.org/doxygen/classclang_1_1FloatingLiteral.html">FloatingLiteral</a>&g…
2223 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1ClassTemplateSpecialization…
2224 <tr><td colspan="4" class="doc" id="templateArgumentCountIs0"><pre>Matches if the number of templat…
2234 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CompoundStmt.html">Compound…
2235 <tr><td colspan="4" class="doc" id="statementCountIs0"><pre>Checks that a compound statement contai…
2246 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1ConstantArrayType.html">Con…
2247 <tr><td colspan="4" class="doc" id="hasSize0"><pre>Matches nodes that have the specified size.
2258 stringLiteral(hasSize(4))
2263 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1DeclStmt.html">DeclStmt</a>…
2264 <tr><td colspan="4" class="doc" id="declCountIs0"><pre>Matches declaration statements that contain …
2276 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td…
2277 <tr><td colspan="4" class="doc" id="equalsBoundNode1"><pre>Matches if a node equals a previously bo…
2299 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td…
2300 <tr><td colspan="4" class="doc" id="equalsNode0"><pre>Matches if a node equals another node.
2306 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td…
2307 <tr><td colspan="4" class="doc" id="hasAttr0"><pre>Matches declaration that has a given attribute.
2311 decl(hasAttr(clang::attr::CUDADevice)) matches the function declaration of
2312 f. If the matcher is use from clang-query, attr::Kind parameter should be
2317 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td…
2318 <tr><td colspan="4" class="doc" id="isExpansionInFileMatching0"><pre>Matches AST nodes that were ex…
2328clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;, Matcher&lt;<a href="http://clang.llv…
2332 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td…
2333 <tr><td colspan="4" class="doc" id="isExpansionInMainFile0"><pre>Matches AST nodes that were expand…
2342clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;, Matcher&lt;<a href="http://clang.llv…
2346 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td…
2347 <tr><td colspan="4" class="doc" id="isExpansionInSystemHeader0"><pre>Matches AST nodes that were ex…
2356clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;, Matcher&lt;<a href="http://clang.llv…
2360 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td…
2361 <tr><td colspan="4" class="doc" id="isImplicit0"><pre>Matches a declaration that has been implicitl…
2366 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td…
2367 <tr><td colspan="4" class="doc" id="isPrivate0"><pre>Matches private C++ declarations.
2380 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td…
2381 <tr><td colspan="4" class="doc" id="isProtected0"><pre>Matches protected C++ declarations.
2394 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td…
2395 <tr><td colspan="4" class="doc" id="isPublic0"><pre>Matches public C++ declarations.
2408 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1DesignatedInitExpr.html">De…
2409 <tr><td colspan="4" class="doc" id="designatorCountIs0"><pre>Matches designated initializer express…
2421 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FieldDecl.html">FieldDecl</…
2422 <tr><td colspan="4" class="doc" id="hasBitWidth0"><pre>Matches non-static data members that are bit
2427 int b : 4;
2435 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FieldDecl.html">FieldDecl</…
2436 <tr><td colspan="4" class="doc" id="isBitField0"><pre>Matches non-static data members that are bit-
2448 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FloatingLiteral.html">Float…
2449 <tr><td colspan="4" class="doc" id="equals1"><pre>Matches literals that are equal to the given valu…
2454 Usable as: Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CharacterLiteral.html">C…
2455 …t;<a href="http://clang.llvm.org/doxygen/classclang_1_1FloatingLiteral.html">FloatingLiteral</a>&g…
2459 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">Function…
2460 <tr><td colspan="4" class="doc" id="hasDynamicExceptionSpec0"><pre>Matches functions that have a dy…
2476 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">Function…
2477 <tr><td colspan="4" class="doc" id="hasOverloadedOperatorName0"><pre>Matches overloaded operator na…
2486 a &lt;&lt; a; &lt;-- This matches
2493 … href="http://clang.llvm.org/doxygen/classclang_1_1CXXOperatorCallExpr.html">CXXOperatorCallExpr</…
2497 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">Function…
2498 <tr><td colspan="4" class="doc" id="isConstexpr1"><pre>Matches constexpr variable and function decl…
2510 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">Function…
2511 <tr><td colspan="4" class="doc" id="isDefaulted0"><pre>Matches defaulted function declarations.
2521 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">Function…
2522 <tr><td colspan="4" class="doc" id="isDefinition2"><pre>Matches if a declaration has a body attache…
2532clang.llvm.org/doxygen/classclang_1_1TagDecl.html">TagDecl</a>&gt;, Matcher&lt;<a href="http://cla…
2536 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">Function…
2537 <tr><td colspan="4" class="doc" id="isDeleted0"><pre>Matches deleted function declarations.
2547 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">Function…
2548 <tr><td colspan="4" class="doc" id="isExplicitTemplateSpecialization0"><pre>Matches explicit templa…
2557clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">FunctionDecl</a>&gt;, Matcher&lt;<a href="…
2561 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">Function…
2562 <tr><td colspan="4" class="doc" id="isExternC0"><pre>Matches extern "C" function declarations.
2573 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">Function…
2574 <tr><td colspan="4" class="doc" id="isInline1"><pre>Matches function and namespace declarations tha…
2588 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">Function…
2589 <tr><td colspan="4" class="doc" id="isNoThrow0"><pre>Matches functions that have a non-throwing exc…
2602 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">Function…
2603 <tr><td colspan="4" class="doc" id="isTemplateInstantiation0"><pre>Matches template instantiations …
2619clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">FunctionDecl</a>&gt;, Matcher&lt;<a href="…
2623 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">Function…
2624 <tr><td colspan="4" class="doc" id="isVariadic0"><pre>Matches if a function declaration is variadic.
2635 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">Function…
2636 <tr><td colspan="4" class="doc" id="parameterCountIs0"><pre>Matches FunctionDecls and FunctionProto…
2654 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionProtoType.html">Fun…
2655 <tr><td colspan="4" class="doc" id="hasDynamicExceptionSpec1"><pre>Matches functions that have a dy…
2671 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionProtoType.html">Fun…
2672 <tr><td colspan="4" class="doc" id="isNoThrow1"><pre>Matches functions that have a non-throwing exc…
2685 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1FunctionProtoType.html">Fun…
2686 <tr><td colspan="4" class="doc" id="parameterCountIs1"><pre>Matches FunctionDecls and FunctionProto…
2704 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1IntegerLiteral.html">Intege…
2705 <tr><td colspan="4" class="doc" id="equals0"><pre>Matches literals that are equal to the given valu…
2710 Usable as: Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CharacterLiteral.html">C…
2711 …t;<a href="http://clang.llvm.org/doxygen/classclang_1_1FloatingLiteral.html">FloatingLiteral</a>&g…
2715 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1MemberExpr.html">MemberExpr…
2716 <tr><td colspan="4" class="doc" id="isArrow0"><pre>Matches member expressions that are called with …
2719 Member calls on the implicit this pointer match as called with '-&gt;'.
2723 void x() { this-&gt;x(); x(); Y y; y.x(); a; this-&gt;b; Y::b; }
2728 matches this-&gt;x, x, y.x, a, this-&gt;b
2732 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1NamedDecl.html">NamedDecl</…
2733 <tr><td colspan="4" class="doc" id="hasName0"><pre>Matches NamedDecl nodes that have the specified …
2747 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1NamedDecl.html">NamedDecl</…
2748 <tr><td colspan="4" class="doc" id="matchesName0"><pre>Matches NamedDecl nodes whose fully qualifie…
2763 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1NamespaceDecl.html">Namespa…
2764 <tr><td colspan="4" class="doc" id="isAnonymous0"><pre>Matches anonymous namespace declarations.
2774 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1NamespaceDecl.html">Namespa…
2775 <tr><td colspan="4" class="doc" id="isInline0"><pre>Matches function and namespace declarations tha…
2789 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1ObjCMessageExpr.html">ObjCM…
2790 <tr><td colspan="4" class="doc" id="argumentCountIs2"><pre>Checks that a call expression or a const…
2799 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1ObjCMessageExpr.html">ObjCM…
2800 <tr><td colspan="4" class="doc" id="hasKeywordSelector0"><pre>Matches when the selector is a keywor…
2809 ^---- matches here
2813 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1ObjCMessageExpr.html">ObjCM…
2814 <tr><td colspan="4" class="doc" id="hasNullSelector0"><pre>Matches when the selector is the empty s…
2821 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1ObjCMessageExpr.html">ObjCM…
2822 <tr><td colspan="4" class="doc" id="hasSelector0"><pre>Matches when BaseName == Selector.getAsStrin…
2831 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1ObjCMessageExpr.html">ObjCM…
2832 <tr><td colspan="4" class="doc" id="hasUnarySelector0"><pre>Matches when the selector is a Unary Se…
2841 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1ObjCMessageExpr.html">ObjCM…
2842 <tr><td colspan="4" class="doc" id="matchesSelector0"><pre>Matches ObjC selectors whose name contai…
2850 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1ObjCMessageExpr.html">ObjCM…
2851 <tr><td colspan="4" class="doc" id="numSelectorArgs0"><pre>Matches when the selector has the specif…
2863 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>…
2864 <tr><td colspan="4" class="doc" id="asString0"><pre>Matches if the matched type is represented by t…
2868 void z() { Y* y; y-&gt;x(); }
2870 matches y-&gt;x()
2874 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>…
2875 <tr><td colspan="4" class="doc" id="equalsBoundNode3"><pre>Matches if a node equals a previously bo…
2897 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>…
2898 <tr><td colspan="4" class="doc" id="hasLocalQualifiers0"><pre>Matches QualType nodes that have loca…
2908 i is const-qualified but the qualifier is not local.
2912 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>…
2913 <tr><td colspan="4" class="doc" id="isAnyCharacter0"><pre>Matches QualType nodes that are of charac…
2924 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>…
2925 <tr><td colspan="4" class="doc" id="isAnyPointer0"><pre>Matches QualType nodes that are of any poin…
2926 the Objective-C object pointer type, which is different despite being
2942 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>…
2943 <tr><td colspan="4" class="doc" id="isConstQualified0"><pre>Matches QualType nodes that are const-q…
2944 include "top-level" const.
2955 is no top-level const on the parameter type "const int *".
2959 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>…
2960 <tr><td colspan="4" class="doc" id="isInteger0"><pre>Matches QualType nodes that are of integer typ…
2971 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>…
2972 <tr><td colspan="4" class="doc" id="isSignedInteger0"><pre>Matches QualType nodes that are of signe…
2983 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>…
2984 <tr><td colspan="4" class="doc" id="isUnsignedInteger0"><pre>Matches QualType nodes that are of uns…
2995 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>…
2996 <tr><td colspan="4" class="doc" id="isVolatileQualified0"><pre>Matches QualType nodes that are vola…
2997 include "top-level" volatile.
3008 is no top-level volatile on the parameter type "volatile int *".
3012 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1RecordDecl.html">RecordDecl…
3013 <tr><td colspan="4" class="doc" id="isClass0"><pre>Matches RecordDecl object that are spelled with …
3022 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1RecordDecl.html">RecordDecl…
3023 <tr><td colspan="4" class="doc" id="isStruct0"><pre>Matches RecordDecl object that are spelled with…
3032 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1RecordDecl.html">RecordDecl…
3033 <tr><td colspan="4" class="doc" id="isUnion0"><pre>Matches RecordDecl object that are spelled with …
3042 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td…
3043 <tr><td colspan="4" class="doc" id="equalsBoundNode0"><pre>Matches if a node equals a previously bo…
3065 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td…
3066 <tr><td colspan="4" class="doc" id="equalsNode1"><pre>Matches if a node equals another node.
3072 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td…
3073 <tr><td colspan="4" class="doc" id="isExpansionInFileMatching1"><pre>Matches AST nodes that were ex…
3083clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;, Matcher&lt;<a href="http://clang.llv…
3087 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td…
3088 <tr><td colspan="4" class="doc" id="isExpansionInMainFile1"><pre>Matches AST nodes that were expand…
3097clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;, Matcher&lt;<a href="http://clang.llv…
3101 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td…
3102 <tr><td colspan="4" class="doc" id="isExpansionInSystemHeader1"><pre>Matches AST nodes that were ex…
3111clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;, Matcher&lt;<a href="http://clang.llv…
3115 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1StringLiteral.html">StringL…
3116 <tr><td colspan="4" class="doc" id="hasSize1"><pre>Matches nodes that have the specified size.
3127 stringLiteral(hasSize(4))
3132 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TagDecl.html">TagDecl</a>&g…
3133 <tr><td colspan="4" class="doc" id="isDefinition0"><pre>Matches if a declaration has a body attache…
3143clang.llvm.org/doxygen/classclang_1_1TagDecl.html">TagDecl</a>&gt;, Matcher&lt;<a href="http://cla…
3147 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TemplateArgument.html">Temp…
3148 <tr><td colspan="4" class="doc" id="equalsIntegralValue0"><pre>Matches a TemplateArgument of integr…
3163 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TemplateArgument.html">Temp…
3164 <tr><td colspan="4" class="doc" id="isIntegral0"><pre>Matches a TemplateArgument that is an integra…
3176 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.…
3177 <tr><td colspan="4" class="doc" id="templateArgumentCountIs1"><pre>Matches if the number of templat…
3187 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypeLoc.html">TypeLoc</a>&g…
3188 <tr><td colspan="4" class="doc" id="isExpansionInFileMatching2"><pre>Matches AST nodes that were ex…
3198clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;, Matcher&lt;<a href="http://clang.llv…
3202 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypeLoc.html">TypeLoc</a>&g…
3203 <tr><td colspan="4" class="doc" id="isExpansionInMainFile2"><pre>Matches AST nodes that were expand…
3212clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;, Matcher&lt;<a href="http://clang.llv…
3216 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypeLoc.html">TypeLoc</a>&g…
3217 <tr><td colspan="4" class="doc" id="isExpansionInSystemHeader2"><pre>Matches AST nodes that were ex…
3226clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;, Matcher&lt;<a href="http://clang.llv…
3230 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td…
3231 <tr><td colspan="4" class="doc" id="booleanType0"><pre>Matches type bool.
3240 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td…
3241 <tr><td colspan="4" class="doc" id="equalsBoundNode2"><pre>Matches if a node equals a previously bo…
3263 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td…
3264 <tr><td colspan="4" class="doc" id="equalsNode2"><pre>Matches if a node equals another node.
3270 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td…
3271 <tr><td colspan="4" class="doc" id="realFloatingPointType0"><pre>Matches any real floating-point ty…
3281 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Type.html">Type</a>&gt;</td…
3282 <tr><td colspan="4" class="doc" id="voidType0"><pre>Matches type void.
3291 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1UnaryExprOrTypeTraitExpr.ht…
3292 <tr><td colspan="4" class="doc" id="ofKind0"><pre>Matches unary expressions of a certain kind.
3302 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1UnaryOperator.html">UnaryOp…
3303 <tr><td colspan="4" class="doc" id="hasOperatorName1"><pre>Matches the operator Name of operator ex…
3311 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1VarDecl.html">VarDecl</a>&g…
3312 <tr><td colspan="4" class="doc" id="hasAutomaticStorageDuration0"><pre>Matches a variable declarati…
3325 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1VarDecl.html">VarDecl</a>&g…
3326 <tr><td colspan="4" class="doc" id="hasGlobalStorage0"><pre>Matches a variable declaration that doe…
3337 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1VarDecl.html">VarDecl</a>&g…
3338 <tr><td colspan="4" class="doc" id="hasLocalStorage0"><pre>Matches a variable declaration that has …
3339 non-static local variable.
3350 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1VarDecl.html">VarDecl</a>&g…
3351 <tr><td colspan="4" class="doc" id="hasStaticStorageDuration0"><pre>Matches a variable declaration …
3364 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1VarDecl.html">VarDecl</a>&g…
3365 <tr><td colspan="4" class="doc" id="hasThreadStorageDuration0"><pre>Matches a variable declaration …
3378 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1VarDecl.html">VarDecl</a>&g…
3379 <tr><td colspan="4" class="doc" id="isConstexpr0"><pre>Matches constexpr variable and function decl…
3391 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1VarDecl.html">VarDecl</a>&g…
3392 <tr><td colspan="4" class="doc" id="isDefinition1"><pre>Matches if a declaration has a body attache…
3402clang.llvm.org/doxygen/classclang_1_1TagDecl.html">TagDecl</a>&gt;, Matcher&lt;<a href="http://cla…
3406 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1VarDecl.html">VarDecl</a>&g…
3407 <tr><td colspan="4" class="doc" id="isExceptionVariable0"><pre>Matches a variable declaration that …
3408 a C++ catch block, or an Objective-C statement.
3419 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1VarDecl.html">VarDecl</a>&g…
3420 <tr><td colspan="4" class="doc" id="isExplicitTemplateSpecialization1"><pre>Matches explicit templa…
3429clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">FunctionDecl</a>&gt;, Matcher&lt;<a href="…
3433 <tr><td>Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1VarDecl.html">VarDecl</a>&g…
3434 <tr><td colspan="4" class="doc" id="isTemplateInstantiation1"><pre>Matches template instantiations …
3450clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">FunctionDecl</a>&gt;, Matcher&lt;<a href="…
3454 <tr><td>Matcher&lt;internal::Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Decl.h…
3455 <tr><td colspan="4" class="doc" id="isInstantiated0"><pre>Matches declarations that are template in…
3467 <tr><td>Matcher&lt;internal::Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Expr.h…
3468 <tr><td colspan="4" class="doc" id="nullPointerConstant0"><pre>Matches expressions that resolve to …
3484 <tr><td>Matcher&lt;internal::Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1NamedD…
3485 <tr><td colspan="4" class="doc" id="hasAnyName0"><pre>Matches NamedDecl nodes that have any of the …
3494 <tr><td>Matcher&lt;internal::Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Stmt.h…
3495 <tr><td colspan="4" class="doc" id="isInTemplateInstantiation0"><pre>Matches statements inside of a…
3509 <!--END_NARROWING_MATCHERS -->
3512 <!-- ======================================================================= -->
3513 <h2 id="traversal-matchers">AST Traversal Matchers</h2>
3514 <!-- ======================================================================= -->
3524 <tr style="text-align:left"><th>Return type</th><th>Name</th><th>Parameters</th></tr>
3525 <!-- START_TRAVERSAL_MATCHERS -->
3528 <tr><td colspan="4" class="doc" id="eachOf0"><pre>Matches if any of the given matchers matches.
3547 <tr><td colspan="4" class="doc" id="forEachDescendant0"><pre>Matches AST nodes that have descendant…
3573 <tr><td colspan="4" class="doc" id="forEach0"><pre>Matches AST nodes that have child AST nodes that…
3592 <tr><td colspan="4" class="doc" id="hasAncestor0"><pre>Matches AST nodes that have an ancestor that…
3605 <tr><td colspan="4" class="doc" id="hasDescendant0"><pre>Matches AST nodes that have descendant AST…
3621 <tr><td colspan="4" class="doc" id="has0"><pre>Matches AST nodes that have child AST nodes that mat…
3641 <tr><td colspan="4" class="doc" id="hasParent0"><pre>Matches AST nodes that have a parent that matc…
3652clang.llvm.org/doxygen/classclang_1_1AbstractConditionalOperator.html">AbstractConditionalOperator…
3653 <tr><td colspan="4" class="doc" id="hasCondition5"><pre>Matches the condition expression of an if s…
3661clang.llvm.org/doxygen/classclang_1_1AbstractConditionalOperator.html">AbstractConditionalOperator…
3662 <tr><td colspan="4" class="doc" id="hasFalseExpression0"><pre>Matches the false branch expression o…
3671clang.llvm.org/doxygen/classclang_1_1AbstractConditionalOperator.html">AbstractConditionalOperator…
3672 <tr><td colspan="4" class="doc" id="hasTrueExpression0"><pre>Matches the true branch expression of …
3682clang.llvm.org/doxygen/classclang_1_1AddrLabelExpr.html">AddrLabelExpr</a>&gt;</td><td class="name…
3683 <tr><td colspan="4" class="doc" id="hasDeclaration8"><pre>Matches a node if the declaration associa…
3687 - for type nodes, the declaration of the underlying type
3688 - for CallExpr, the declaration of the callee
3689 - for MemberExpr, the declaration of the referenced member
3690 - for CXXConstructExpr, the declaration of the constructor
3693 function. e.g. various subtypes of clang::Type and various expressions.
3695 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
3696clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
3697clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
3698clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
3699 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
3700 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
3704clang.llvm.org/doxygen/classclang_1_1ArraySubscriptExpr.html">ArraySubscriptExpr</a>&gt;</td><td c…
3705 <tr><td colspan="4" class="doc" id="hasBase0"><pre>Matches the base expression of an array subscrip…
3716clang.llvm.org/doxygen/classclang_1_1ArraySubscriptExpr.html">ArraySubscriptExpr</a>&gt;</td><td c…
3717 <tr><td colspan="4" class="doc" id="hasIndex0"><pre>Matches the index expression of an array subscr…
3727clang.llvm.org/doxygen/classclang_1_1ArraySubscriptExpr.html">ArraySubscriptExpr</a>&gt;</td><td c…
3728 <tr><td colspan="4" class="doc" id="hasLHS1"><pre>Matches the left hand side of binary operator exp…
3735clang.llvm.org/doxygen/classclang_1_1ArraySubscriptExpr.html">ArraySubscriptExpr</a>&gt;</td><td c…
3736 <tr><td colspan="4" class="doc" id="hasRHS1"><pre>Matches the right hand side of binary operator ex…
3743clang.llvm.org/doxygen/classclang_1_1ArrayTypeLoc.html">ArrayTypeLoc</a>&gt;</td><td class="name" …
3744 <tr><td colspan="4" class="doc" id="hasElementTypeLoc0"><pre>Matches arrays and C99 complex types t…
3754 …cher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1ArrayType.html">ArrayType</a>&gt;, Ma…
3758clang.llvm.org/doxygen/classclang_1_1ArrayType.html">ArrayType</a>&gt;</td><td class="name" onclic…
3759 <tr><td colspan="4" class="doc" id="hasElementType0"><pre>Matches arrays and C99 complex types that…
3769 …cher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1ArrayType.html">ArrayType</a>&gt;, Ma…
3773clang.llvm.org/doxygen/classclang_1_1AtomicTypeLoc.html">AtomicTypeLoc</a>&gt;</td><td class="name…
3774 <tr><td colspan="4" class="doc" id="hasValueTypeLoc0"><pre>Matches atomic types with a specific val…
3782 Usable as: Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1AtomicType.html">AtomicT…
3786clang.llvm.org/doxygen/classclang_1_1AtomicType.html">AtomicType</a>&gt;</td><td class="name" oncl…
3787 <tr><td colspan="4" class="doc" id="hasValueType0"><pre>Matches atomic types with a specific value …
3795 Usable as: Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1AtomicType.html">AtomicT…
3799clang.llvm.org/doxygen/classclang_1_1AutoType.html">AutoType</a>&gt;</td><td class="name" onclick=…
3800 <tr><td colspan="4" class="doc" id="hasDeducedType0"><pre>Matches AutoType nodes where the deduced …
3811 Usable as: Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1AutoType.html">AutoType<…
3815clang.llvm.org/doxygen/classclang_1_1BinaryOperator.html">BinaryOperator</a>&gt;</td><td class="na…
3816 <tr><td colspan="4" class="doc" id="hasEitherOperand0"><pre>Matches if either the left hand side or…
3821clang.llvm.org/doxygen/classclang_1_1BinaryOperator.html">BinaryOperator</a>&gt;</td><td class="na…
3822 <tr><td colspan="4" class="doc" id="hasLHS0"><pre>Matches the left hand side of binary operator exp…
3829clang.llvm.org/doxygen/classclang_1_1BinaryOperator.html">BinaryOperator</a>&gt;</td><td class="na…
3830 <tr><td colspan="4" class="doc" id="hasRHS0"><pre>Matches the right hand side of binary operator ex…
3837clang.llvm.org/doxygen/classclang_1_1BlockPointerTypeLoc.html">BlockPointerTypeLoc</a>&gt;</td><td…
3838 <tr><td colspan="4" class="doc" id="pointeeLoc0"><pre>Narrows PointerType (and similar) matchers to…
3848 …;<a href="http://clang.llvm.org/doxygen/classclang_1_1BlockPointerType.html">BlockPointerType</a>&…
3849 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1PointerType.html">PointerType</a>&gt;, …
3853clang.llvm.org/doxygen/classclang_1_1BlockPointerType.html">BlockPointerType</a>&gt;</td><td class…
3854 <tr><td colspan="4" class="doc" id="pointee0"><pre>Narrows PointerType (and similar) matchers to th…
3864 …;<a href="http://clang.llvm.org/doxygen/classclang_1_1BlockPointerType.html">BlockPointerType</a>&…
3865 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1PointerType.html">PointerType</a>&gt;, …
3869clang.llvm.org/doxygen/classclang_1_1CXXConstructExpr.html">CXXConstructExpr</a>&gt;</td><td class…
3870 <tr><td colspan="4" class="doc" id="forEachArgumentWithParam1"><pre>Matches all arguments and their…
3889clang.llvm.org/doxygen/classclang_1_1CXXConstructExpr.html">CXXConstructExpr</a>&gt;</td><td class…
3890 <tr><td colspan="4" class="doc" id="hasAnyArgument1"><pre>Matches any argument of a call expression…
3902clang.llvm.org/doxygen/classclang_1_1CXXConstructExpr.html">CXXConstructExpr</a>&gt;</td><td class…
3903 <tr><td colspan="4" class="doc" id="hasArgument1"><pre>Matches the n'th argument of a call expressi…
3912clang.llvm.org/doxygen/classclang_1_1CXXConstructExpr.html">CXXConstructExpr</a>&gt;</td><td class…
3913 <tr><td colspan="4" class="doc" id="hasDeclaration13"><pre>Matches a node if the declaration associ…
3917 - for type nodes, the declaration of the underlying type
3918 - for CallExpr, the declaration of the callee
3919 - for MemberExpr, the declaration of the referenced member
3920 - for CXXConstructExpr, the declaration of the constructor
3923 function. e.g. various subtypes of clang::Type and various expressions.
3925 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
3926clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
3927clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
3928clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
3929 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
3930 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
3934clang.llvm.org/doxygen/classclang_1_1CXXConstructorDecl.html">CXXConstructorDecl</a>&gt;</td><td c…
3935 <tr><td colspan="4" class="doc" id="forEachConstructorInitializer0"><pre>Matches each constructor i…
3946clang.llvm.org/doxygen/classclang_1_1CXXConstructorDecl.html">CXXConstructorDecl</a>&gt;</td><td c…
3947 <tr><td colspan="4" class="doc" id="hasAnyConstructorInitializer0"><pre>Matches a constructor initi…
3961clang.llvm.org/doxygen/classclang_1_1CXXCtorInitializer.html">CXXCtorInitializer</a>&gt;</td><td c…
3962 <tr><td colspan="4" class="doc" id="forField0"><pre>Matches the field declaration of a constructor …
3976clang.llvm.org/doxygen/classclang_1_1CXXCtorInitializer.html">CXXCtorInitializer</a>&gt;</td><td c…
3977 <tr><td colspan="4" class="doc" id="withInitializer0"><pre>Matches the initializer expression of a …
3991clang.llvm.org/doxygen/classclang_1_1CXXForRangeStmt.html">CXXForRangeStmt</a>&gt;</td><td class="…
3992 <tr><td colspan="4" class="doc" id="hasBody3"><pre>Matches a 'for', 'while', 'do while' statement o…
4004clang.llvm.org/doxygen/classclang_1_1CXXForRangeStmt.html">CXXForRangeStmt</a>&gt;</td><td class="…
4005 <tr><td colspan="4" class="doc" id="hasLoopVariable0"><pre>Matches the initialization statement of …
4014clang.llvm.org/doxygen/classclang_1_1CXXForRangeStmt.html">CXXForRangeStmt</a>&gt;</td><td class="…
4015 <tr><td colspan="4" class="doc" id="hasRangeInit0"><pre>Matches the range initialization statement …
4024clang.llvm.org/doxygen/classclang_1_1CXXMemberCallExpr.html">CXXMemberCallExpr</a>&gt;</td><td cla…
4025 <tr><td colspan="4" class="doc" id="onImplicitObjectArgument0"><pre></pre></td></tr>
4028clang.llvm.org/doxygen/classclang_1_1CXXMemberCallExpr.html">CXXMemberCallExpr</a>&gt;</td><td cla…
4029 <tr><td colspan="4" class="doc" id="on0"><pre>Matches on the implicit object argument of a member c…
4040clang.llvm.org/doxygen/classclang_1_1CXXMemberCallExpr.html">CXXMemberCallExpr</a>&gt;</td><td cla…
4041 <tr><td colspan="4" class="doc" id="thisPointerType1"><pre>Overloaded to match the type's declarati…
4045clang.llvm.org/doxygen/classclang_1_1CXXMemberCallExpr.html">CXXMemberCallExpr</a>&gt;</td><td cla…
4046 <tr><td colspan="4" class="doc" id="thisPointerType0"><pre>Matches if the expression's type either …
4051clang.llvm.org/doxygen/classclang_1_1CXXMethodDecl.html">CXXMethodDecl</a>&gt;</td><td class="name…
4052 <tr><td colspan="4" class="doc" id="forEachOverridden0"><pre>Matches each method overriden by the g…
4075clang.llvm.org/doxygen/classclang_1_1CXXMethodDecl.html">CXXMethodDecl</a>&gt;</td><td class="name…
4076 <tr><td colspan="4" class="doc" id="ofClass0"><pre>Matches the class declaration that the given met…
4094clang.llvm.org/doxygen/classclang_1_1CXXRecordDecl.html">CXXRecordDecl</a>&gt;</td><td class="name…
4095 <tr><td colspan="4" class="doc" id="hasMethod0"><pre>Matches the first method of a class or struct …
4106clang.llvm.org/doxygen/classclang_1_1CXXRecordDecl.html">CXXRecordDecl</a>&gt;</td><td class="name…
4107 <tr><td colspan="4" class="doc" id="isDerivedFrom0"><pre>Matches C++ classes that are directly or i…
4127clang.llvm.org/doxygen/classclang_1_1CXXRecordDecl.html">CXXRecordDecl</a>&gt;</td><td class="name…
4128 <tr><td colspan="4" class="doc" id="isSameOrDerivedFrom0"><pre>Similar to isDerivedFrom(), but also…
4133clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;</td><td class="name" onclick=…
4134 <tr><td colspan="4" class="doc" id="callee1"><pre>Matches if the call expression's callee's declara…
4144clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;</td><td class="name" onclick=…
4145 <tr><td colspan="4" class="doc" id="callee0"><pre>Matches if the call expression's callee expressio…
4148 class Y { void x() { this-&gt;x(); x(); Y y; y.x(); } };
4151 matches this-&gt;x(), x(), y.x(), f()
4153 matching this-&gt;x, x, y.x, f respectively
4155 Note: Callee cannot take the more general internal::Matcher&lt;<a href="http://clang.llvm.org/doxyg…
4157 internal::Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;, …
4162clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;</td><td class="name" onclick=…
4163 <tr><td colspan="4" class="doc" id="forEachArgumentWithParam0"><pre>Matches all arguments and their…
4182clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;</td><td class="name" onclick=…
4183 <tr><td colspan="4" class="doc" id="hasAnyArgument0"><pre>Matches any argument of a call expression…
4195clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;</td><td class="name" onclick=…
4196 <tr><td colspan="4" class="doc" id="hasArgument0"><pre>Matches the n'th argument of a call expressi…
4205clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;</td><td class="name" onclick=…
4206 <tr><td colspan="4" class="doc" id="hasDeclaration14"><pre>Matches a node if the declaration associ…
4210 - for type nodes, the declaration of the underlying type
4211 - for CallExpr, the declaration of the callee
4212 - for MemberExpr, the declaration of the referenced member
4213 - for CXXConstructExpr, the declaration of the constructor
4216 function. e.g. various subtypes of clang::Type and various expressions.
4218 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
4219clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
4220clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
4221clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
4222 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
4223 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
4227clang.llvm.org/doxygen/classclang_1_1CaseStmt.html">CaseStmt</a>&gt;</td><td class="name" onclick=…
4228 <tr><td colspan="4" class="doc" id="hasCaseConstant0"><pre>If the given case statement does not use…
4232 switch (1) { case 1: case 1+1: case 3 ... 4: ; }
4238clang.llvm.org/doxygen/classclang_1_1CastExpr.html">CastExpr</a>&gt;</td><td class="name" onclick=…
4239 <tr><td colspan="4" class="doc" id="hasSourceExpression0"><pre></pre></td></tr>
4242clang.llvm.org/doxygen/classclang_1_1ClassTemplateSpecializationDecl.html">ClassTemplateSpecializa…
4243 <tr><td colspan="4" class="doc" id="hasAnyTemplateArgument0"><pre>Matches classTemplateSpecializati…
4256clang.llvm.org/doxygen/classclang_1_1ClassTemplateSpecializationDecl.html">ClassTemplateSpecializa…
4257 <tr><td colspan="4" class="doc" id="hasTemplateArgument0"><pre>Matches classTemplateSpecializations…
4270clang.llvm.org/doxygen/classclang_1_1ComplexTypeLoc.html">ComplexTypeLoc</a>&gt;</td><td class="na…
4271 <tr><td colspan="4" class="doc" id="hasElementTypeLoc1"><pre>Matches arrays and C99 complex types t…
4281 …cher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1ArrayType.html">ArrayType</a>&gt;, Ma…
4285clang.llvm.org/doxygen/classclang_1_1ComplexType.html">ComplexType</a>&gt;</td><td class="name" on…
4286 <tr><td colspan="4" class="doc" id="hasElementType1"><pre>Matches arrays and C99 complex types that…
4296 …cher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1ArrayType.html">ArrayType</a>&gt;, Ma…
4300clang.llvm.org/doxygen/classclang_1_1CompoundStmt.html">CompoundStmt</a>&gt;</td><td class="name" …
4301 <tr><td colspan="4" class="doc" id="hasAnySubstatement0"><pre>Matches compound statements where at …
4313clang.llvm.org/doxygen/classclang_1_1DecayedType.html">DecayedType</a>&gt;</td><td class="name" on…
4314 <tr><td colspan="4" class="doc" id="hasDecayedType0"><pre>Matches the decayed type, whos decayed ty…
4318clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;</td><td class="name" on…
4319 <tr><td colspan="4" class="doc" id="hasDeclaration12"><pre>Matches a node if the declaration associ…
4323 - for type nodes, the declaration of the underlying type
4324 - for CallExpr, the declaration of the callee
4325 - for MemberExpr, the declaration of the referenced member
4326 - for CXXConstructExpr, the declaration of the constructor
4329 function. e.g. various subtypes of clang::Type and various expressions.
4331 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
4332clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
4333clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
4334clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
4335 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
4336 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
4340clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;</td><td class="name" on…
4341 <tr><td colspan="4" class="doc" id="throughUsingDecl0"><pre>Matches a DeclRefExpr that refers to a …
4356clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;</td><td class="name" on…
4357 <tr><td colspan="4" class="doc" id="to0"><pre>Matches a DeclRefExpr that refers to a declaration th…
4367clang.llvm.org/doxygen/classclang_1_1DeclStmt.html">DeclStmt</a>&gt;</td><td class="name" onclick=…
4368 <tr><td colspan="4" class="doc" id="containsDeclaration0"><pre>Matches the n'th declaration of a de…
4371 breaks up multiple-declaration DeclStmt's into multiple single-declaration
4373 Example: Given non-global declarations
4386clang.llvm.org/doxygen/classclang_1_1DeclStmt.html">DeclStmt</a>&gt;</td><td class="name" onclick=…
4387 <tr><td colspan="4" class="doc" id="hasSingleDecl0"><pre>Matches the Decl of a DeclStmt which has a…
4397clang.llvm.org/doxygen/classclang_1_1DeclaratorDecl.html">DeclaratorDecl</a>&gt;</td><td class="na…
4398 <tr><td colspan="4" class="doc" id="hasTypeLoc0"><pre>Matches if the type location of the declarato…
4408clang.llvm.org/doxygen/classclang_1_1Decl.html">Decl</a>&gt;</td><td class="name" onclick="toggle(…
4409 <tr><td colspan="4" class="doc" id="hasDeclContext0"><pre>Matches declarations whose declaration co…
4424clang.llvm.org/doxygen/classclang_1_1DoStmt.html">DoStmt</a>&gt;</td><td class="name" onclick="tog…
4425 <tr><td colspan="4" class="doc" id="hasBody0"><pre>Matches a 'for', 'while', 'do while' statement o…
4437clang.llvm.org/doxygen/classclang_1_1DoStmt.html">DoStmt</a>&gt;</td><td class="name" onclick="tog…
4438 <tr><td colspan="4" class="doc" id="hasCondition3"><pre>Matches the condition expression of an if s…
4446clang.llvm.org/doxygen/classclang_1_1ElaboratedType.html">ElaboratedType</a>&gt;</td><td class="na…
4447 <tr><td colspan="4" class="doc" id="hasQualifier0"><pre>Matches ElaboratedTypes whose qualifier, a …
4463clang.llvm.org/doxygen/classclang_1_1ElaboratedType.html">ElaboratedType</a>&gt;</td><td class="na…
4464 <tr><td colspan="4" class="doc" id="namesType0"><pre>Matches ElaboratedTypes whose named type match…
4480clang.llvm.org/doxygen/classclang_1_1EnumType.html">EnumType</a>&gt;</td><td class="name" onclick=…
4481 <tr><td colspan="4" class="doc" id="hasDeclaration11"><pre>Matches a node if the declaration associ…
4485 - for type nodes, the declaration of the underlying type
4486 - for CallExpr, the declaration of the callee
4487 - for MemberExpr, the declaration of the referenced member
4488 - for CXXConstructExpr, the declaration of the constructor
4491 function. e.g. various subtypes of clang::Type and various expressions.
4493 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
4494clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
4495clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
4496clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
4497 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
4498 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
4502clang.llvm.org/doxygen/classclang_1_1ExplicitCastExpr.html">ExplicitCastExpr</a>&gt;</td><td class…
4503 <tr><td colspan="4" class="doc" id="hasDestinationType0"><pre>Matches casts whose destination type …
4505 (Note: Clang's AST refers to other conversions as "casts" too, and calls
4510clang.llvm.org/doxygen/classclang_1_1Expr.html">Expr</a>&gt;</td><td class="name" onclick="toggle(…
4511 <tr><td colspan="4" class="doc" id="hasType3"><pre>Overloaded to match the declaration of the expre…
4525 …: Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Expr.html">Expr</a>&gt;, Matcher…
4529clang.llvm.org/doxygen/classclang_1_1Expr.html">Expr</a>&gt;</td><td class="name" onclick="toggle(…
4530 <tr><td colspan="4" class="doc" id="hasType0"><pre>Matches if the expression's or declaration's typ…
4542clang.llvm.org/doxygen/classclang_1_1Expr.html">Expr</a>&gt;</td><td class="name" onclick="toggle(…
4543 <tr><td colspan="4" class="doc" id="ignoringImpCasts0"><pre>Matches expressions that match InnerMat…
4565clang.llvm.org/doxygen/classclang_1_1Expr.html">Expr</a>&gt;</td><td class="name" onclick="toggle(…
4566 <tr><td colspan="4" class="doc" id="ignoringImplicit0"><pre>Matches expressions that match InnerMat…
4584clang.llvm.org/doxygen/classclang_1_1Expr.html">Expr</a>&gt;</td><td class="name" onclick="toggle(…
4585 <tr><td colspan="4" class="doc" id="ignoringParenCasts0"><pre>Matches expressions that match InnerM…
4588 Implicit and non-C Style casts are also discarded.
4603clang.llvm.org/doxygen/classclang_1_1Expr.html">Expr</a>&gt;</td><td class="name" onclick="toggle(…
4604 <tr><td colspan="4" class="doc" id="ignoringParenImpCasts0"><pre>Matches expressions that match Inn…
4626clang.llvm.org/doxygen/classclang_1_1ForStmt.html">ForStmt</a>&gt;</td><td class="name" onclick="t…
4627 <tr><td colspan="4" class="doc" id="hasBody1"><pre>Matches a 'for', 'while', 'do while' statement o…
4639clang.llvm.org/doxygen/classclang_1_1ForStmt.html">ForStmt</a>&gt;</td><td class="name" onclick="t…
4640 <tr><td colspan="4" class="doc" id="hasCondition1"><pre>Matches the condition expression of an if s…
4648clang.llvm.org/doxygen/classclang_1_1ForStmt.html">ForStmt</a>&gt;</td><td class="name" onclick="t…
4649 <tr><td colspan="4" class="doc" id="hasIncrement0"><pre>Matches the increment statement of a for lo…
4658clang.llvm.org/doxygen/classclang_1_1ForStmt.html">ForStmt</a>&gt;</td><td class="name" onclick="t…
4659 <tr><td colspan="4" class="doc" id="hasLoopInit0"><pre>Matches the initialization statement of a fo…
4668clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">FunctionDecl</a>&gt;</td><td class="name" …
4669 <tr><td colspan="4" class="doc" id="hasAnyParameter0"><pre>Matches any parameter of a function decl…
4682clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">FunctionDecl</a>&gt;</td><td class="name" …
4683 <tr><td colspan="4" class="doc" id="hasBody4"><pre>Matches a 'for', 'while', 'do while' statement o…
4695clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">FunctionDecl</a>&gt;</td><td class="name" …
4696 <tr><td colspan="4" class="doc" id="hasParameter0"><pre>Matches the n'th parameter of a function de…
4707clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html">FunctionDecl</a>&gt;</td><td class="name" …
4708 <tr><td colspan="4" class="doc" id="returns0"><pre>Matches the return type of a function declaratio…
4717clang.llvm.org/doxygen/classclang_1_1IfStmt.html">IfStmt</a>&gt;</td><td class="name" onclick="tog…
4718 <tr><td colspan="4" class="doc" id="hasCondition0"><pre>Matches the condition expression of an if s…
4726clang.llvm.org/doxygen/classclang_1_1IfStmt.html">IfStmt</a>&gt;</td><td class="name" onclick="tog…
4727 <tr><td colspan="4" class="doc" id="hasConditionVariableStatement0"><pre>Matches the condition vari…
4736clang.llvm.org/doxygen/classclang_1_1IfStmt.html">IfStmt</a>&gt;</td><td class="name" onclick="tog…
4737 <tr><td colspan="4" class="doc" id="hasElse0"><pre>Matches the else-statement of an if statement.
4745clang.llvm.org/doxygen/classclang_1_1IfStmt.html">IfStmt</a>&gt;</td><td class="name" onclick="tog…
4746 <tr><td colspan="4" class="doc" id="hasThen0"><pre>Matches the then-statement of an if statement.
4754clang.llvm.org/doxygen/classclang_1_1ImplicitCastExpr.html">ImplicitCastExpr</a>&gt;</td><td class…
4755 <tr><td colspan="4" class="doc" id="hasImplicitDestinationType0"><pre>Matches implicit casts whose …
4762clang.llvm.org/doxygen/classclang_1_1InitListExpr.html">InitListExpr</a>&gt;</td><td class="name" …
4763 <tr><td colspan="4" class="doc" id="hasSyntacticForm0"><pre>Matches the syntactic form of init list…
4768clang.llvm.org/doxygen/classclang_1_1InjectedClassNameType.html">InjectedClassNameType</a>&gt;</td…
4769 <tr><td colspan="4" class="doc" id="hasDeclaration10"><pre>Matches a node if the declaration associ…
4773 - for type nodes, the declaration of the underlying type
4774 - for CallExpr, the declaration of the callee
4775 - for MemberExpr, the declaration of the referenced member
4776 - for CXXConstructExpr, the declaration of the constructor
4779 function. e.g. various subtypes of clang::Type and various expressions.
4781 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
4782clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
4783clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
4784clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
4785 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
4786 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
4790clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;</td><td class="name" onclic…
4791 <tr><td colspan="4" class="doc" id="hasDeclaration9"><pre>Matches a node if the declaration associa…
4795 - for type nodes, the declaration of the underlying type
4796 - for CallExpr, the declaration of the callee
4797 - for MemberExpr, the declaration of the referenced member
4798 - for CXXConstructExpr, the declaration of the constructor
4801 function. e.g. various subtypes of clang::Type and various expressions.
4803 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
4804clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
4805clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
4806clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
4807 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
4808 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
4812clang.llvm.org/doxygen/classclang_1_1MemberExpr.html">MemberExpr</a>&gt;</td><td class="name" oncl…
4813 <tr><td colspan="4" class="doc" id="hasDeclaration7"><pre>Matches a node if the declaration associa…
4817 - for type nodes, the declaration of the underlying type
4818 - for CallExpr, the declaration of the callee
4819 - for MemberExpr, the declaration of the referenced member
4820 - for CXXConstructExpr, the declaration of the constructor
4823 function. e.g. various subtypes of clang::Type and various expressions.
4825 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
4826clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
4827clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
4828clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
4829 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
4830 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
4834clang.llvm.org/doxygen/classclang_1_1MemberExpr.html">MemberExpr</a>&gt;</td><td class="name" oncl…
4835 <tr><td colspan="4" class="doc" id="hasObjectExpression0"><pre>Matches a member expression where th…
4848clang.llvm.org/doxygen/classclang_1_1MemberExpr.html">MemberExpr</a>&gt;</td><td class="name" oncl…
4849 <tr><td colspan="4" class="doc" id="member0"><pre>Matches a member expression where the member is m…
4862clang.llvm.org/doxygen/classclang_1_1MemberPointerTypeLoc.html">MemberPointerTypeLoc</a>&gt;</td><…
4863 <tr><td colspan="4" class="doc" id="pointeeLoc1"><pre>Narrows PointerType (and similar) matchers to…
4873 …;<a href="http://clang.llvm.org/doxygen/classclang_1_1BlockPointerType.html">BlockPointerType</a>&…
4874 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1PointerType.html">PointerType</a>&gt;, …
4878clang.llvm.org/doxygen/classclang_1_1MemberPointerType.html">MemberPointerType</a>&gt;</td><td cla…
4879 <tr><td colspan="4" class="doc" id="pointee1"><pre>Narrows PointerType (and similar) matchers to th…
4889 …;<a href="http://clang.llvm.org/doxygen/classclang_1_1BlockPointerType.html">BlockPointerType</a>&…
4890 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1PointerType.html">PointerType</a>&gt;, …
4894clang.llvm.org/doxygen/classclang_1_1NestedNameSpecifierLoc.html">NestedNameSpecifierLoc</a>&gt;</…
4895 <tr><td colspan="4" class="doc" id="hasPrefix1"><pre>Matches on the prefix of a NestedNameSpecifier…
4905clang.llvm.org/doxygen/classclang_1_1NestedNameSpecifierLoc.html">NestedNameSpecifierLoc</a>&gt;</…
4906 <tr><td colspan="4" class="doc" id="specifiesTypeLoc0"><pre>Matches nested name specifier locs that…
4918clang.llvm.org/doxygen/classclang_1_1NestedNameSpecifier.html">NestedNameSpecifier</a>&gt;</td><td…
4919 <tr><td colspan="4" class="doc" id="hasPrefix0"><pre>Matches on the prefix of a NestedNameSpecifier.
4929clang.llvm.org/doxygen/classclang_1_1NestedNameSpecifier.html">NestedNameSpecifier</a>&gt;</td><td…
4930 <tr><td colspan="4" class="doc" id="specifiesNamespace0"><pre>Matches nested name specifiers that s…
4941clang.llvm.org/doxygen/classclang_1_1NestedNameSpecifier.html">NestedNameSpecifier</a>&gt;</td><td…
4942 <tr><td colspan="4" class="doc" id="specifiesType0"><pre>Matches nested name specifiers that specif…
4955clang.llvm.org/doxygen/classclang_1_1ObjCMessageExpr.html">ObjCMessageExpr</a>&gt;</td><td class="…
4956 <tr><td colspan="4" class="doc" id="hasArgument2"><pre>Matches the n'th argument of a call expressi…
4965clang.llvm.org/doxygen/classclang_1_1ObjCMessageExpr.html">ObjCMessageExpr</a>&gt;</td><td class="…
4966 <tr><td colspan="4" class="doc" id="hasReceiverType0"><pre>Matches on the receiver of an ObjectiveC…
4977clang.llvm.org/doxygen/classclang_1_1OpaqueValueExpr.html">OpaqueValueExpr</a>&gt;</td><td class="…
4978 <tr><td colspan="4" class="doc" id="hasSourceExpression1"><pre></pre></td></tr>
4981clang.llvm.org/doxygen/classclang_1_1ParenType.html">ParenType</a>&gt;</td><td class="name" onclic…
4982 <tr><td colspan="4" class="doc" id="innerType0"><pre>Matches ParenType nodes where the inner type i…
4985 int (*ptr_to_array)[4];
4991 Usable as: Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1ParenType.html">ParenTyp…
4995clang.llvm.org/doxygen/classclang_1_1PointerTypeLoc.html">PointerTypeLoc</a>&gt;</td><td class="na…
4996 <tr><td colspan="4" class="doc" id="pointeeLoc2"><pre>Narrows PointerType (and similar) matchers to…
5006 …;<a href="http://clang.llvm.org/doxygen/classclang_1_1BlockPointerType.html">BlockPointerType</a>&…
5007 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1PointerType.html">PointerType</a>&gt;, …
5011clang.llvm.org/doxygen/classclang_1_1PointerType.html">PointerType</a>&gt;</td><td class="name" on…
5012 <tr><td colspan="4" class="doc" id="pointee2"><pre>Narrows PointerType (and similar) matchers to th…
5022 …;<a href="http://clang.llvm.org/doxygen/classclang_1_1BlockPointerType.html">BlockPointerType</a>&…
5023 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1PointerType.html">PointerType</a>&gt;, …
5027clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;</td><td class="name" onclick=…
5028 <tr><td colspan="4" class="doc" id="hasCanonicalType0"><pre>Matches QualTypes whose canonical type …
5040clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;</td><td class="name" onclick=…
5041 <tr><td colspan="4" class="doc" id="hasDeclaration6"><pre>Matches a node if the declaration associa…
5045 - for type nodes, the declaration of the underlying type
5046 - for CallExpr, the declaration of the callee
5047 - for MemberExpr, the declaration of the referenced member
5048 - for CXXConstructExpr, the declaration of the constructor
5051 function. e.g. various subtypes of clang::Type and various expressions.
5053 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
5054clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
5055clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
5056clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
5057 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
5058 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
5062clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;</td><td class="name" onclick=…
5063 <tr><td colspan="4" class="doc" id="ignoringParens0"><pre>Matches types that match InnerMatcher aft…
5073clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;</td><td class="name" onclick=…
5074 <tr><td colspan="4" class="doc" id="pointsTo1"><pre>Overloaded to match the pointee type's declarat…
5078clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;</td><td class="name" onclick=…
5079 <tr><td colspan="4" class="doc" id="pointsTo0"><pre>Matches if the matched type is a pointer type a…
5082 Example matches y-&gt;x()
5086 void z() { Y *y; y-&gt;x(); }
5090clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;</td><td class="name" onclick=…
5091 <tr><td colspan="4" class="doc" id="references1"><pre>Overloaded to match the referenced type's dec…
5095clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;</td><td class="name" onclick=…
5096 <tr><td colspan="4" class="doc" id="references0"><pre>Matches if the matched type is a reference ty…
5110clang.llvm.org/doxygen/classclang_1_1RecordType.html">RecordType</a>&gt;</td><td class="name" oncl…
5111 <tr><td colspan="4" class="doc" id="hasDeclaration5"><pre>Matches a node if the declaration associa…
5115 - for type nodes, the declaration of the underlying type
5116 - for CallExpr, the declaration of the callee
5117 - for MemberExpr, the declaration of the referenced member
5118 - for CXXConstructExpr, the declaration of the constructor
5121 function. e.g. various subtypes of clang::Type and various expressions.
5123 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
5124clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
5125clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
5126clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
5127 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
5128 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
5132clang.llvm.org/doxygen/classclang_1_1ReferenceTypeLoc.html">ReferenceTypeLoc</a>&gt;</td><td class…
5133 <tr><td colspan="4" class="doc" id="pointeeLoc3"><pre>Narrows PointerType (and similar) matchers to…
5143 …;<a href="http://clang.llvm.org/doxygen/classclang_1_1BlockPointerType.html">BlockPointerType</a>&…
5144 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1PointerType.html">PointerType</a>&gt;, …
5148clang.llvm.org/doxygen/classclang_1_1ReferenceType.html">ReferenceType</a>&gt;</td><td class="name…
5149 <tr><td colspan="4" class="doc" id="pointee3"><pre>Narrows PointerType (and similar) matchers to th…
5159 …;<a href="http://clang.llvm.org/doxygen/classclang_1_1BlockPointerType.html">BlockPointerType</a>&…
5160 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1PointerType.html">PointerType</a>&gt;, …
5164clang.llvm.org/doxygen/classclang_1_1ReturnStmt.html">ReturnStmt</a>&gt;</td><td class="name" oncl…
5165 <tr><td colspan="4" class="doc" id="hasReturnValue0"><pre>Matches the return value expression of a …
5176clang.llvm.org/doxygen/classclang_1_1StmtExpr.html">StmtExpr</a>&gt;</td><td class="name" onclick=…
5177 <tr><td colspan="4" class="doc" id="hasAnySubstatement1"><pre>Matches compound statements where at …
5189clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
5190 <tr><td colspan="4" class="doc" id="alignOfExpr0"><pre>Same as unaryExprOrTypeTraitExpr, but only m…
5195clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
5196 <tr><td colspan="4" class="doc" id="forFunction0"><pre>Matches declaration of the function the stat…
5209clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>&gt;</td><td class="name" onclick="toggle(…
5210 <tr><td colspan="4" class="doc" id="sizeOfExpr0"><pre>Same as unaryExprOrTypeTraitExpr, but only ma…
5215clang.llvm.org/doxygen/classclang_1_1SwitchStmt.html">SwitchStmt</a>&gt;</td><td class="name" oncl…
5216 <tr><td colspan="4" class="doc" id="forEachSwitchCase0"><pre>Matches each case or default statement…
5220 switch (1) { case 1: case 2: default: switch (2) { case 3: case 4: ; } }
5223 "case 3:" and "case 4:", and "s" respectively binding "switch (1)",
5228clang.llvm.org/doxygen/classclang_1_1SwitchStmt.html">SwitchStmt</a>&gt;</td><td class="name" oncl…
5229 <tr><td colspan="4" class="doc" id="hasCondition4"><pre>Matches the condition expression of an if s…
5237clang.llvm.org/doxygen/classclang_1_1TagType.html">TagType</a>&gt;</td><td class="name" onclick="t…
5238 <tr><td colspan="4" class="doc" id="hasDeclaration4"><pre>Matches a node if the declaration associa…
5242 - for type nodes, the declaration of the underlying type
5243 - for CallExpr, the declaration of the callee
5244 - for MemberExpr, the declaration of the referenced member
5245 - for CXXConstructExpr, the declaration of the constructor
5248 function. e.g. various subtypes of clang::Type and various expressions.
5250 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
5251clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
5252clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
5253clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
5254 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
5255 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
5259clang.llvm.org/doxygen/classclang_1_1TemplateArgument.html">TemplateArgument</a>&gt;</td><td class…
5260 <tr><td colspan="4" class="doc" id="isExpr0"><pre>Matches a sugar TemplateArgument that refers to a…
5273clang.llvm.org/doxygen/classclang_1_1TemplateArgument.html">TemplateArgument</a>&gt;</td><td class…
5274 <tr><td colspan="4" class="doc" id="refersToDeclaration0"><pre>Matches a canonical TemplateArgument…
5288clang.llvm.org/doxygen/classclang_1_1TemplateArgument.html">TemplateArgument</a>&gt;</td><td class…
5289 <tr><td colspan="4" class="doc" id="refersToIntegralType0"><pre>Matches a TemplateArgument that ref…
5300clang.llvm.org/doxygen/classclang_1_1TemplateArgument.html">TemplateArgument</a>&gt;</td><td class…
5301 <tr><td colspan="4" class="doc" id="refersToType0"><pre>Matches a TemplateArgument that refers to a…
5313clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializationType</…
5314 <tr><td colspan="4" class="doc" id="hasAnyTemplateArgument1"><pre>Matches classTemplateSpecializati…
5327clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializationType</…
5328 <tr><td colspan="4" class="doc" id="hasDeclaration3"><pre>Matches a node if the declaration associa…
5332 - for type nodes, the declaration of the underlying type
5333 - for CallExpr, the declaration of the callee
5334 - for MemberExpr, the declaration of the referenced member
5335 - for CXXConstructExpr, the declaration of the constructor
5338 function. e.g. various subtypes of clang::Type and various expressions.
5340 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
5341clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
5342clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
5343clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
5344 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
5345 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
5349clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializationType</…
5350 <tr><td colspan="4" class="doc" id="hasTemplateArgument1"><pre>Matches classTemplateSpecializations…
5363clang.llvm.org/doxygen/classclang_1_1TemplateTypeParmType.html">TemplateTypeParmType</a>&gt;</td><…
5364 <tr><td colspan="4" class="doc" id="hasDeclaration2"><pre>Matches a node if the declaration associa…
5368 - for type nodes, the declaration of the underlying type
5369 - for CallExpr, the declaration of the callee
5370 - for MemberExpr, the declaration of the referenced member
5371 - for CXXConstructExpr, the declaration of the constructor
5374 function. e.g. various subtypes of clang::Type and various expressions.
5376 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
5377clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
5378clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
5379clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
5380 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
5381 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
5386 <tr><td colspan="4" class="doc" id="findAll0"><pre>Matches if the node or any descendant matches.
5401clang.llvm.org/doxygen/classclang_1_1TypedefNameDecl.html">TypedefNameDecl</a>&gt;</td><td class="…
5402 <tr><td colspan="4" class="doc" id="hasType1"><pre>Matches if the expression's or declaration's typ…
5414clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;</td><td class="name" on…
5415 <tr><td colspan="4" class="doc" id="hasDeclaration1"><pre>Matches a node if the declaration associa…
5419 - for type nodes, the declaration of the underlying type
5420 - for CallExpr, the declaration of the callee
5421 - for MemberExpr, the declaration of the referenced member
5422 - for CXXConstructExpr, the declaration of the constructor
5425 function. e.g. various subtypes of clang::Type and various expressions.
5427 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
5428clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
5429clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
5430clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
5431 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
5432 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
5436clang.llvm.org/doxygen/classclang_1_1UnaryExprOrTypeTraitExpr.html">UnaryExprOrTypeTraitExpr</a>&g…
5437 <tr><td colspan="4" class="doc" id="hasArgumentOfType0"><pre>Matches unary expressions that have a …
5446clang.llvm.org/doxygen/classclang_1_1UnaryOperator.html">UnaryOperator</a>&gt;</td><td class="name…
5447 <tr><td colspan="4" class="doc" id="hasUnaryOperand0"><pre>Matches if the operand of a unary operat…
5455clang.llvm.org/doxygen/classclang_1_1UnresolvedUsingType.html">UnresolvedUsingType</a>&gt;</td><td…
5456 <tr><td colspan="4" class="doc" id="hasDeclaration0"><pre>Matches a node if the declaration associa…
5460 - for type nodes, the declaration of the underlying type
5461 - for CallExpr, the declaration of the callee
5462 - for MemberExpr, the declaration of the referenced member
5463 - for CXXConstructExpr, the declaration of the constructor
5466 function. e.g. various subtypes of clang::Type and various expressions.
5468 …tcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1CallExpr.html">CallExpr</a>&gt;, Mat…
5469clang.llvm.org/doxygen/classclang_1_1DeclRefExpr.html">DeclRefExpr</a>&gt;, Matcher&lt;<a href="ht…
5470clang.llvm.org/doxygen/classclang_1_1LabelStmt.html">LabelStmt</a>&gt;, Matcher&lt;<a href="http:/…
5471clang.llvm.org/doxygen/classclang_1_1QualType.html">QualType</a>&gt;, Matcher&lt;<a href="http://c…
5472 …http://clang.llvm.org/doxygen/classclang_1_1TemplateSpecializationType.html">TemplateSpecializatio…
5473 …er&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1TypedefType.html">TypedefType</a>&gt;, …
5477clang.llvm.org/doxygen/classclang_1_1UsingDecl.html">UsingDecl</a>&gt;</td><td class="name" onclic…
5478 <tr><td colspan="4" class="doc" id="hasAnyUsingShadowDecl0"><pre>Matches any using shadow declarati…
5487clang.llvm.org/doxygen/classclang_1_1UsingShadowDecl.html">UsingShadowDecl</a>&gt;</td><td class="…
5488 <tr><td colspan="4" class="doc" id="hasTargetDecl0"><pre>Matches a using shadow declaration where t…
5499clang.llvm.org/doxygen/classclang_1_1ValueDecl.html">ValueDecl</a>&gt;</td><td class="name" onclic…
5500 <tr><td colspan="4" class="doc" id="hasType4"><pre>Overloaded to match the declaration of the expre…
5514 …: Matcher&lt;<a href="http://clang.llvm.org/doxygen/classclang_1_1Expr.html">Expr</a>&gt;, Matcher…
5518clang.llvm.org/doxygen/classclang_1_1ValueDecl.html">ValueDecl</a>&gt;</td><td class="name" onclic…
5519 <tr><td colspan="4" class="doc" id="hasType2"><pre>Matches if the expression's or declaration's typ…
5531clang.llvm.org/doxygen/classclang_1_1VarDecl.html">VarDecl</a>&gt;</td><td class="name" onclick="t…
5532 <tr><td colspan="4" class="doc" id="hasInitializer0"><pre>Matches a variable declaration that has a…
5541clang.llvm.org/doxygen/classclang_1_1VariableArrayType.html">VariableArrayType</a>&gt;</td><td cla…
5542 <tr><td colspan="4" class="doc" id="hasSizeExpr0"><pre>Matches VariableArrayType nodes that have a …
5555clang.llvm.org/doxygen/classclang_1_1WhileStmt.html">WhileStmt</a>&gt;</td><td class="name" onclic…
5556 <tr><td colspan="4" class="doc" id="hasBody2"><pre>Matches a 'for', 'while', 'do while' statement o…
5568clang.llvm.org/doxygen/classclang_1_1WhileStmt.html">WhileStmt</a>&gt;</td><td class="name" onclic…
5569 <tr><td colspan="4" class="doc" id="hasCondition2"><pre>Matches the condition expression of an if s…
5577clang.llvm.org/doxygen/classclang_1_1NestedNameSpecifierLoc.html">NestedNameSpecifierLoc</a>&gt;&g…
5578 <tr><td colspan="4" class="doc" id="loc1"><pre>Matches NestedNameSpecifierLocs for which the given …
5579 NestedNameSpecifier-matcher matches.
5583clang.llvm.org/doxygen/classclang_1_1TypeLoc.html">TypeLoc</a>&gt;&gt;</td><td class="name" onclic…
5584 <tr><td colspan="4" class="doc" id="loc0"><pre>Matches TypeLocs for which the given inner
5585 QualType-matcher matches.
5588 <!--END_TRAVERSAL_MATCHERS -->