From bc5c3f57277f8851c95ebc95d7fe203c8480c99c Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sun, 4 Nov 2018 17:02:00 +0000 Subject: Update our URLs in clang doc to use https llvm-svn: 346101 --- clang/docs/LibASTMatchersReference.html | 1316 +++++++++++++++---------------- 1 file changed, 658 insertions(+), 658 deletions(-) (limited to 'clang/docs/LibASTMatchersReference.html') diff --git a/clang/docs/LibASTMatchersReference.html b/clang/docs/LibASTMatchersReference.html index c1554656011..7db62edfa4d 100644 --- a/clang/docs/LibASTMatchersReference.html +++ b/clang/docs/LibASTMatchersReference.html @@ -100,7 +100,7 @@ recordDecl(decl().bind("id"), hasName("::MyClass")) Return typeNameParameters -Matcher<CXXCtorInitializer>cxxCtorInitializerMatcher<CXXCtorInitializer>... +Matcher<CXXCtorInitializer>cxxCtorInitializerMatcher<CXXCtorInitializer>...
Matches constructor initializers.
 
 Examples matches i(42).
@@ -111,7 +111,7 @@ Examples matches i(42).
 
-Matcher<Decl>accessSpecDeclMatcher<AccessSpecDecl>... +Matcher<Decl>accessSpecDeclMatcher<AccessSpecDecl>...
Matches C++ access specifier declarations.
 
 Given
@@ -124,7 +124,7 @@ accessSpecDecl()
 
-Matcher<Decl>blockDeclMatcher<BlockDecl>... +Matcher<Decl>blockDeclMatcher<BlockDecl>...
Matches block declarations.
 
 Example matches the declaration of the nameless block printing an input
@@ -136,7 +136,7 @@ integer.
 
-Matcher<Decl>classTemplateDeclMatcher<ClassTemplateDecl>... +Matcher<Decl>classTemplateDeclMatcher<ClassTemplateDecl>...
Matches C++ class template declarations.
 
 Example matches Z
@@ -144,7 +144,7 @@ Example matches Z
 
-Matcher<Decl>classTemplatePartialSpecializationDeclMatcher<ClassTemplatePartialSpecializationDecl>... +Matcher<Decl>classTemplatePartialSpecializationDeclMatcher<ClassTemplatePartialSpecializationDecl>...
Matches C++ class template partial specializations.
 
 Given
@@ -161,7 +161,7 @@ classTemplatePartialSpecializationDecl()
 
-Matcher<Decl>classTemplateSpecializationDeclMatcher<ClassTemplateSpecializationDecl>... +Matcher<Decl>classTemplateSpecializationDeclMatcher<ClassTemplateSpecializationDecl>...
Matches C++ class template specializations.
 
 Given
@@ -173,7 +173,7 @@ classTemplateSpecializationDecl()
 
-Matcher<Decl>cxxConstructorDeclMatcher<CXXConstructorDecl>... +Matcher<Decl>cxxConstructorDeclMatcher<CXXConstructorDecl>...
Matches C++ constructor declarations.
 
 Example matches Foo::Foo() and Foo::Foo(int)
@@ -186,7 +186,7 @@ Example matches Foo::Foo() and Foo::Foo(int)
 
-Matcher<Decl>cxxConversionDeclMatcher<CXXConversionDecl>... +Matcher<Decl>cxxConversionDeclMatcher<CXXConversionDecl>...
Matches conversion operator declarations.
 
 Example matches the operator.
@@ -194,7 +194,7 @@ Example matches the operator.
 
-Matcher<Decl>cxxDestructorDeclMatcher<CXXDestructorDecl>... +Matcher<Decl>cxxDestructorDeclMatcher<CXXDestructorDecl>...
Matches explicit C++ destructor declarations.
 
 Example matches Foo::~Foo()
@@ -205,7 +205,7 @@ Example matches Foo::~Foo()
 
-Matcher<Decl>cxxMethodDeclMatcher<CXXMethodDecl>... +Matcher<Decl>cxxMethodDeclMatcher<CXXMethodDecl>...
Matches method declarations.
 
 Example matches y
@@ -213,7 +213,7 @@ Example matches y
 
-Matcher<Decl>cxxRecordDeclMatcher<CXXRecordDecl>... +Matcher<Decl>cxxRecordDeclMatcher<CXXRecordDecl>...
Matches C++ class declarations.
 
 Example matches X, Z
@@ -222,7 +222,7 @@ Example matches X, Z
 
-Matcher<Decl>declMatcher<Decl>... +Matcher<Decl>declMatcher<Decl>...
Matches declarations.
 
 Examples matches X, C, and the friend declaration inside C;
@@ -233,7 +233,7 @@ Examples matches X, C, and the friend declaration inside C;
 
-Matcher<Decl>declaratorDeclMatcher<DeclaratorDecl>... +Matcher<Decl>declaratorDeclMatcher<DeclaratorDecl>...
Matches declarator declarations (field, variable, function
 and non-type template parameter declarations).
 
@@ -244,7 +244,7 @@ declaratorDecl()
 
-Matcher<Decl>enumConstantDeclMatcher<EnumConstantDecl>... +Matcher<Decl>enumConstantDeclMatcher<EnumConstantDecl>...
Matches enum constants.
 
 Example matches A, B, C
@@ -254,7 +254,7 @@ Example matches A, B, C
 
-Matcher<Decl>enumDeclMatcher<EnumDecl>... +Matcher<Decl>enumDeclMatcher<EnumDecl>...
Matches enum declarations.
 
 Example matches X
@@ -264,7 +264,7 @@ Example matches X
 
-Matcher<Decl>fieldDeclMatcher<FieldDecl>... +Matcher<Decl>fieldDeclMatcher<FieldDecl>...
Matches field declarations.
 
 Given
@@ -274,7 +274,7 @@ fieldDecl()
 
-Matcher<Decl>friendDeclMatcher<FriendDecl>... +Matcher<Decl>friendDeclMatcher<FriendDecl>...
Matches friend declarations.
 
 Given
@@ -284,7 +284,7 @@ friendDecl()
 
-Matcher<Decl>functionDeclMatcher<FunctionDecl>... +Matcher<Decl>functionDeclMatcher<FunctionDecl>...
Matches function declarations.
 
 Example matches f
@@ -292,7 +292,7 @@ Example matches f
 
-Matcher<Decl>functionTemplateDeclMatcher<FunctionTemplateDecl>... +Matcher<Decl>functionTemplateDeclMatcher<FunctionTemplateDecl>...
Matches C++ function template declarations.
 
 Example matches f
@@ -300,7 +300,7 @@ Example matches f
 
-Matcher<Decl>labelDeclMatcher<LabelDecl>... +Matcher<Decl>labelDeclMatcher<LabelDecl>...
Matches a declaration of label.
 
 Given
@@ -311,7 +311,7 @@ labelDecl()
 
-Matcher<Decl>linkageSpecDeclMatcher<LinkageSpecDecl>... +Matcher<Decl>linkageSpecDeclMatcher<LinkageSpecDecl>...
Matches a declaration of a linkage specification.
 
 Given
@@ -321,7 +321,7 @@ linkageSpecDecl()
 
-Matcher<Decl>namedDeclMatcher<NamedDecl>... +Matcher<Decl>namedDeclMatcher<NamedDecl>...
Matches a declaration of anything that could have a name.
 
 Example matches X, S, the anonymous union type, i, and U;
@@ -334,7 +334,7 @@ Example matches X, S, the anonymous union type, i, and U;
 
-Matcher<Decl>namespaceAliasDeclMatcher<NamespaceAliasDecl>... +Matcher<Decl>namespaceAliasDeclMatcher<NamespaceAliasDecl>...
Matches a declaration of a namespace alias.
 
 Given
@@ -345,7 +345,7 @@ namespaceAliasDecl()
 
-Matcher<Decl>namespaceDeclMatcher<NamespaceDecl>... +Matcher<Decl>namespaceDeclMatcher<NamespaceDecl>...
Matches a declaration of a namespace.
 
 Given
@@ -356,7 +356,7 @@ namespaceDecl()
 
-Matcher<Decl>nonTypeTemplateParmDeclMatcher<NonTypeTemplateParmDecl>... +Matcher<Decl>nonTypeTemplateParmDeclMatcher<NonTypeTemplateParmDecl>...
Matches non-type template parameter declarations.
 
 Given
@@ -366,7 +366,7 @@ nonTypeTemplateParmDecl()
 
-Matcher<Decl>objcCategoryDeclMatcher<ObjCCategoryDecl>... +Matcher<Decl>objcCategoryDeclMatcher<ObjCCategoryDecl>...
Matches Objective-C category declarations.
 
 Example matches Foo (Additions)
@@ -375,7 +375,7 @@ Example matches Foo (Additions)
 
-Matcher<Decl>objcCategoryImplDeclMatcher<ObjCCategoryImplDecl>... +Matcher<Decl>objcCategoryImplDeclMatcher<ObjCCategoryImplDecl>...
Matches Objective-C category definitions.
 
 Example matches Foo (Additions)
@@ -384,7 +384,7 @@ Example matches Foo (Additions)
 
-Matcher<Decl>objcImplementationDeclMatcher<ObjCImplementationDecl>... +Matcher<Decl>objcImplementationDeclMatcher<ObjCImplementationDecl>...
Matches Objective-C implementation declarations.
 
 Example matches Foo
@@ -393,7 +393,7 @@ Example matches Foo
 
-Matcher<Decl>objcInterfaceDeclMatcher<ObjCInterfaceDecl>... +Matcher<Decl>objcInterfaceDeclMatcher<ObjCInterfaceDecl>...
Matches Objective-C interface declarations.
 
 Example matches Foo
@@ -402,7 +402,7 @@ Example matches Foo
 
-Matcher<Decl>objcIvarDeclMatcher<ObjCIvarDecl>... +Matcher<Decl>objcIvarDeclMatcher<ObjCIvarDecl>...
Matches Objective-C instance variable declarations.
 
 Example matches _enabled
@@ -413,7 +413,7 @@ Example matches _enabled
 
-Matcher<Decl>objcMethodDeclMatcher<ObjCMethodDecl>... +Matcher<Decl>objcMethodDeclMatcher<ObjCMethodDecl>...
Matches Objective-C method declarations.
 
 Example matches both declaration and definition of -[Foo method]
@@ -427,7 +427,7 @@ Example matches both declaration and definition of -[Foo method]
 
-Matcher<Decl>objcPropertyDeclMatcher<ObjCPropertyDecl>... +Matcher<Decl>objcPropertyDeclMatcher<ObjCPropertyDecl>...
Matches Objective-C property declarations.
 
 Example matches enabled
@@ -437,7 +437,7 @@ Example matches enabled
 
-Matcher<Decl>objcProtocolDeclMatcher<ObjCProtocolDecl>... +Matcher<Decl>objcProtocolDeclMatcher<ObjCProtocolDecl>...
Matches Objective-C protocol declarations.
 
 Example matches FooDelegate
@@ -446,7 +446,7 @@ Example matches FooDelegate
 
-Matcher<Decl>parmVarDeclMatcher<ParmVarDecl>... +Matcher<Decl>parmVarDeclMatcher<ParmVarDecl>...
Matches parameter variable declarations.
 
 Given
@@ -456,7 +456,7 @@ parmVarDecl()
 
-Matcher<Decl>recordDeclMatcher<RecordDecl>... +Matcher<Decl>recordDeclMatcher<RecordDecl>...
Matches class, struct, and union declarations.
 
 Example matches X, Z, U, and S
@@ -467,7 +467,7 @@ Example matches X, Z, U, and S
 
-Matcher<Decl>staticAssertDeclMatcher<StaticAssertDecl>... +Matcher<Decl>staticAssertDeclMatcher<StaticAssertDecl>...
Matches a C++ static_assert declaration.
 
 Example:
@@ -482,7 +482,7 @@ in
 
-Matcher<Decl>templateTypeParmDeclMatcher<TemplateTypeParmDecl>... +Matcher<Decl>templateTypeParmDeclMatcher<TemplateTypeParmDecl>...
Matches template type parameter declarations.
 
 Given
@@ -492,7 +492,7 @@ templateTypeParmDecl()
 
-Matcher<Decl>translationUnitDeclMatcher<TranslationUnitDecl>... +Matcher<Decl>translationUnitDeclMatcher<TranslationUnitDecl>...
Matches the top declaration context.
 
 Given
@@ -505,7 +505,7 @@ decl(hasDeclContext(translationUnitDecl()))
 
-Matcher<Decl>typeAliasDeclMatcher<TypeAliasDecl>... +Matcher<Decl>typeAliasDeclMatcher<TypeAliasDecl>...
Matches type alias declarations.
 
 Given
@@ -516,7 +516,7 @@ typeAliasDecl()
 
-Matcher<Decl>typeAliasTemplateDeclMatcher<TypeAliasTemplateDecl>... +Matcher<Decl>typeAliasTemplateDeclMatcher<TypeAliasTemplateDecl>...
Matches type alias template declarations.
 
 typeAliasTemplateDecl() matches
@@ -525,7 +525,7 @@ typeAliasTemplateDecl() matches
 
-Matcher<Decl>typedefDeclMatcher<TypedefDecl>... +Matcher<Decl>typedefDeclMatcher<TypedefDecl>...
Matches typedef declarations.
 
 Given
@@ -536,7 +536,7 @@ typedefDecl()
 
-Matcher<Decl>typedefNameDeclMatcher<TypedefNameDecl>... +Matcher<Decl>typedefNameDeclMatcher<TypedefNameDecl>...
Matches typedef name declarations.
 
 Given
@@ -547,7 +547,7 @@ typedefNameDecl()
 
-Matcher<Decl>unresolvedUsingTypenameDeclMatcher<UnresolvedUsingTypenameDecl>... +Matcher<Decl>unresolvedUsingTypenameDeclMatcher<UnresolvedUsingTypenameDecl>...
Matches unresolved using value declarations that involve the
 typename.
 
@@ -563,7 +563,7 @@ unresolvedUsingTypenameDecl()
   matches using Base<T>::Foo 
-Matcher<Decl>unresolvedUsingValueDeclMatcher<UnresolvedUsingValueDecl>... +Matcher<Decl>unresolvedUsingValueDeclMatcher<UnresolvedUsingValueDecl>...
Matches unresolved using value declarations.
 
 Given
@@ -575,7 +575,7 @@ unresolvedUsingValueDecl()
   matches using X::x 
-Matcher<Decl>usingDeclMatcher<UsingDecl>... +Matcher<Decl>usingDeclMatcher<UsingDecl>...
Matches using declarations.
 
 Given
@@ -585,7 +585,7 @@ usingDecl()
   matches using X::x 
-Matcher<Decl>usingDirectiveDeclMatcher<UsingDirectiveDecl>... +Matcher<Decl>usingDirectiveDeclMatcher<UsingDirectiveDecl>...
Matches using namespace declarations.
 
 Given
@@ -595,7 +595,7 @@ usingDirectiveDecl()
   matches using namespace X 
-Matcher<Decl>valueDeclMatcher<ValueDecl>... +Matcher<Decl>valueDeclMatcher<ValueDecl>...
Matches any value declaration.
 
 Example matches A, B, C and F
@@ -604,7 +604,7 @@ Example matches A, B, C and F
 
-Matcher<Decl>varDeclMatcher<VarDecl>... +Matcher<Decl>varDeclMatcher<VarDecl>...
Matches variable declarations.
 
 Note: this does not match declarations of member variables, which are
@@ -615,12 +615,12 @@ Example matches a
 
-Matcher<NestedNameSpecifierLoc>nestedNameSpecifierLocMatcher<NestedNameSpecifierLoc>... +Matcher<NestedNameSpecifierLoc>nestedNameSpecifierLocMatcher<NestedNameSpecifierLoc>...
Same as nestedNameSpecifier but matches NestedNameSpecifierLoc.
 
-Matcher<NestedNameSpecifier>nestedNameSpecifierMatcher<NestedNameSpecifier>... +Matcher<NestedNameSpecifier>nestedNameSpecifierMatcher<NestedNameSpecifier>...
Matches nested name specifiers.
 
 Given
@@ -635,12 +635,12 @@ nestedNameSpecifier()
 
-Matcher<QualType>qualTypeMatcher<QualType>... +Matcher<QualType>qualTypeMatcher<QualType>...
Matches QualTypes in the clang AST.
 
-Matcher<Stmt>addrLabelExprMatcher<AddrLabelExpr>... +Matcher<Stmt>addrLabelExprMatcher<AddrLabelExpr>...
Matches address of label statements (GNU extension).
 
 Given
@@ -652,7 +652,7 @@ addrLabelExpr()
 
-Matcher<Stmt>arraySubscriptExprMatcher<ArraySubscriptExpr>... +Matcher<Stmt>arraySubscriptExprMatcher<ArraySubscriptExpr>...
Matches array subscript expressions.
 
 Given
@@ -662,7 +662,7 @@ arraySubscriptExpr()
 
-Matcher<Stmt>asmStmtMatcher<AsmStmt>... +Matcher<Stmt>asmStmtMatcher<AsmStmt>...
Matches asm statements.
 
  int i = 100;
@@ -672,14 +672,14 @@ asmStmt()
 
-Matcher<Stmt>atomicExprMatcher<AtomicExpr>... +Matcher<Stmt>atomicExprMatcher<AtomicExpr>...
Matches atomic builtins.
 Example matches __atomic_load_n(ptr, 1)
   void foo() { int *ptr; __atomic_load_n(ptr, 1); }
 
-Matcher<Stmt>autoreleasePoolStmtMatcher<ObjCAutoreleasePoolStmt>... +Matcher<Stmt>autoreleasePoolStmtMatcher<ObjCAutoreleasePoolStmt>...
Matches an Objective-C autorelease pool statement.
 
 Given
@@ -691,7 +691,7 @@ inside the autorelease pool.
 
-Matcher<Stmt>binaryConditionalOperatorMatcher<BinaryConditionalOperator>... +Matcher<Stmt>binaryConditionalOperatorMatcher<BinaryConditionalOperator>...
Matches binary conditional operator expressions (GNU extension).
 
 Example matches a ?: b
@@ -699,7 +699,7 @@ Example matches a ?: b
 
-Matcher<Stmt>binaryOperatorMatcher<BinaryOperator>... +Matcher<Stmt>binaryOperatorMatcher<BinaryOperator>...
Matches binary operator expressions.
 
 Example matches a || b
@@ -707,7 +707,7 @@ Example matches a || b
 
-Matcher<Stmt>breakStmtMatcher<BreakStmt>... +Matcher<Stmt>breakStmtMatcher<BreakStmt>...
Matches break statements.
 
 Given
@@ -717,7 +717,7 @@ breakStmt()
 
-Matcher<Stmt>cStyleCastExprMatcher<CStyleCastExpr>... +Matcher<Stmt>cStyleCastExprMatcher<CStyleCastExpr>...
Matches a C-style cast expression.
 
 Example: Matches (int) 2.2f in
@@ -725,7 +725,7 @@ Example: Matches (int) 2.2f in
 
-Matcher<Stmt>callExprMatcher<CallExpr>... +Matcher<Stmt>callExprMatcher<CallExpr>...
Matches call expressions.
 
 Example matches x.y() and y()
@@ -735,7 +735,7 @@ Example matches x.y() and y()
 
-Matcher<Stmt>caseStmtMatcher<CaseStmt>... +Matcher<Stmt>caseStmtMatcher<CaseStmt>...
Matches case statements inside switch statements.
 
 Given
@@ -745,7 +745,7 @@ caseStmt()
 
-Matcher<Stmt>castExprMatcher<CastExpr>... +Matcher<Stmt>castExprMatcher<CastExpr>...
Matches any cast nodes of Clang's AST.
 
 Example: castExpr() matches each of the following:
@@ -758,7 +758,7 @@ but does not match
 
-Matcher<Stmt>characterLiteralMatcher<CharacterLiteral>... +Matcher<Stmt>characterLiteralMatcher<CharacterLiteral>...
Matches character literals (also matches wchar_t).
 
 Not matching Hex-encoded chars (e.g. 0x1234, which is a IntegerLiteral),
@@ -770,7 +770,7 @@ Example matches 'a', L'a'
 
-Matcher<Stmt>compoundLiteralExprMatcher<CompoundLiteralExpr>... +Matcher<Stmt>compoundLiteralExprMatcher<CompoundLiteralExpr>...
Matches compound (i.e. non-scalar) literals
 
 Example match: {1}, (1, 2)
@@ -779,7 +779,7 @@ Example match: {1}, (1, 2)
 
-Matcher<Stmt>compoundStmtMatcher<CompoundStmt>... +Matcher<Stmt>compoundStmtMatcher<CompoundStmt>...
Matches compound statements.
 
 Example matches '{}' and '{{}}' in 'for (;;) {{}}'
@@ -787,7 +787,7 @@ Example matches '{}' and '{{}}' in 'for (;;) {{}}'
 
-Matcher<Stmt>conditionalOperatorMatcher<ConditionalOperator>... +Matcher<Stmt>conditionalOperatorMatcher<ConditionalOperator>...
Matches conditional operator expressions.
 
 Example matches a ? b : c
@@ -795,7 +795,7 @@ Example matches a ? b : c
 
-Matcher<Stmt>continueStmtMatcher<ContinueStmt>... +Matcher<Stmt>continueStmtMatcher<ContinueStmt>...
Matches continue statements.
 
 Given
@@ -805,7 +805,7 @@ continueStmt()
 
-Matcher<Stmt>cudaKernelCallExprMatcher<CUDAKernelCallExpr>... +Matcher<Stmt>cudaKernelCallExprMatcher<CUDAKernelCallExpr>...
Matches CUDA kernel call expression.
 
 Example matches,
@@ -813,7 +813,7 @@ Example matches,
 
-Matcher<Stmt>cxxBindTemporaryExprMatcher<CXXBindTemporaryExpr>... +Matcher<Stmt>cxxBindTemporaryExprMatcher<CXXBindTemporaryExpr>...
Matches nodes where temporaries are created.
 
 Example matches FunctionTakesString(GetStringByValue())
@@ -823,7 +823,7 @@ Example matches FunctionTakesString(GetStringByValue())
 
-Matcher<Stmt>cxxBoolLiteralMatcher<CXXBoolLiteralExpr>... +Matcher<Stmt>cxxBoolLiteralMatcher<CXXBoolLiteralExpr>...
Matches bool literals.
 
 Example matches true
@@ -831,7 +831,7 @@ Example matches true
 
-Matcher<Stmt>cxxCatchStmtMatcher<CXXCatchStmt>... +Matcher<Stmt>cxxCatchStmtMatcher<CXXCatchStmt>...
Matches catch statements.
 
   try {} catch(int i) {}
@@ -840,7 +840,7 @@ cxxCatchStmt()
 
-Matcher<Stmt>cxxConstCastExprMatcher<CXXConstCastExpr>... +Matcher<Stmt>cxxConstCastExprMatcher<CXXConstCastExpr>...
Matches a const_cast expression.
 
 Example: Matches const_cast<int*>(&r) in
@@ -850,7 +850,7 @@ Example: Matches const_cast<int*>(&r) in
 
-Matcher<Stmt>cxxConstructExprMatcher<CXXConstructExpr>... +Matcher<Stmt>cxxConstructExprMatcher<CXXConstructExpr>...
Matches constructor call expressions (including implicit ones).
 
 Example matches string(ptr, n) and ptr within arguments of f
@@ -862,7 +862,7 @@ Example matches string(ptr, n) and ptr within arguments of f
 
-Matcher<Stmt>cxxDefaultArgExprMatcher<CXXDefaultArgExpr>... +Matcher<Stmt>cxxDefaultArgExprMatcher<CXXDefaultArgExpr>...
Matches the value of a default argument at the call site.
 
 Example matches the CXXDefaultArgExpr placeholder inserted for the
@@ -873,7 +873,7 @@ Example matches the CXXDefaultArgExpr placeholder inserted for the
 
-Matcher<Stmt>cxxDeleteExprMatcher<CXXDeleteExpr>... +Matcher<Stmt>cxxDeleteExprMatcher<CXXDeleteExpr>...
Matches delete expressions.
 
 Given
@@ -883,7 +883,7 @@ cxxDeleteExpr()
 
-Matcher<Stmt>cxxDependentScopeMemberExprMatcher<CXXDependentScopeMemberExpr>... +Matcher<Stmt>cxxDependentScopeMemberExprMatcher<CXXDependentScopeMemberExpr>...
Matches member expressions where the actual member referenced could not be
 resolved because the base expression or the member name was dependent.
 
@@ -894,7 +894,7 @@ cxxDependentScopeMemberExpr()
 
-Matcher<Stmt>cxxDynamicCastExprMatcher<CXXDynamicCastExpr>... +Matcher<Stmt>cxxDynamicCastExprMatcher<CXXDynamicCastExpr>...
Matches a dynamic_cast expression.
 
 Example:
@@ -908,7 +908,7 @@ in
 
-Matcher<Stmt>cxxForRangeStmtMatcher<CXXForRangeStmt>... +Matcher<Stmt>cxxForRangeStmtMatcher<CXXForRangeStmt>...
Matches range-based for statements.
 
 cxxForRangeStmt() matches 'for (auto a : i)'
@@ -917,7 +917,7 @@ cxxForRangeStmt() matches 'for (auto a : i)'
 
-Matcher<Stmt>cxxFunctionalCastExprMatcher<CXXFunctionalCastExpr>... +Matcher<Stmt>cxxFunctionalCastExprMatcher<CXXFunctionalCastExpr>...
Matches functional cast expressions
 
 Example: Matches Foo(bar);
@@ -927,7 +927,7 @@ Example: Matches Foo(bar);
 
-Matcher<Stmt>cxxMemberCallExprMatcher<CXXMemberCallExpr>... +Matcher<Stmt>cxxMemberCallExprMatcher<CXXMemberCallExpr>...
Matches member call expressions.
 
 Example matches x.y()
@@ -936,7 +936,7 @@ Example matches x.y()
 
-Matcher<Stmt>cxxNewExprMatcher<CXXNewExpr>... +Matcher<Stmt>cxxNewExprMatcher<CXXNewExpr>...
Matches new expressions.
 
 Given
@@ -946,12 +946,12 @@ cxxNewExpr()
 
-Matcher<Stmt>cxxNullPtrLiteralExprMatcher<CXXNullPtrLiteralExpr>... +Matcher<Stmt>cxxNullPtrLiteralExprMatcher<CXXNullPtrLiteralExpr>...
Matches nullptr literal.
 
-Matcher<Stmt>cxxOperatorCallExprMatcher<CXXOperatorCallExpr>... +Matcher<Stmt>cxxOperatorCallExprMatcher<CXXOperatorCallExpr>...
Matches overloaded operator calls.
 
 Note that if an operator isn't overloaded, it won't match. Instead, use
@@ -967,7 +967,7 @@ Example matches both operator<<((o << b), c) and operator<<(o,
 
-Matcher<Stmt>cxxReinterpretCastExprMatcher<CXXReinterpretCastExpr>... +Matcher<Stmt>cxxReinterpretCastExprMatcher<CXXReinterpretCastExpr>...
Matches a reinterpret_cast expression.
 
 Either the source expression or the destination type can be matched
@@ -979,7 +979,7 @@ Example matches reinterpret_cast<char*>(&p) in
 
-Matcher<Stmt>cxxStaticCastExprMatcher<CXXStaticCastExpr>... +Matcher<Stmt>cxxStaticCastExprMatcher<CXXStaticCastExpr>...
Matches a C++ static_cast expression.
 
 See also: hasDestinationType
@@ -994,7 +994,7 @@ in
 
-Matcher<Stmt>cxxStdInitializerListExprMatcher<CXXStdInitializerListExpr>... +Matcher<Stmt>cxxStdInitializerListExprMatcher<CXXStdInitializerListExpr>...
Matches C++ initializer list expressions.
 
 Given
@@ -1007,7 +1007,7 @@ cxxStdInitializerListExpr()
 
-Matcher<Stmt>cxxTemporaryObjectExprMatcher<CXXTemporaryObjectExpr>... +Matcher<Stmt>cxxTemporaryObjectExprMatcher<CXXTemporaryObjectExpr>...
Matches functional cast expressions having N != 1 arguments
 
 Example: Matches Foo(bar, bar)
@@ -1015,7 +1015,7 @@ Example: Matches Foo(bar, bar)
 
-Matcher<Stmt>cxxThisExprMatcher<CXXThisExpr>... +Matcher<Stmt>cxxThisExprMatcher<CXXThisExpr>...
Matches implicit and explicit this expressions.
 
 Example matches the implicit this expression in "return i".
@@ -1027,7 +1027,7 @@ struct foo {
 
-Matcher<Stmt>cxxThrowExprMatcher<CXXThrowExpr>... +Matcher<Stmt>cxxThrowExprMatcher<CXXThrowExpr>...
Matches throw expressions.
 
   try { throw 5; } catch(int i) {}
@@ -1036,7 +1036,7 @@ cxxThrowExpr()
 
-Matcher<Stmt>cxxTryStmtMatcher<CXXTryStmt>... +Matcher<Stmt>cxxTryStmtMatcher<CXXTryStmt>...
Matches try statements.
 
   try {} catch(int i) {}
@@ -1045,7 +1045,7 @@ cxxTryStmt()
 
-Matcher<Stmt>cxxUnresolvedConstructExprMatcher<CXXUnresolvedConstructExpr>... +Matcher<Stmt>cxxUnresolvedConstructExprMatcher<CXXUnresolvedConstructExpr>...
Matches unresolved constructor call expressions.
 
 Example matches T(t) in return statement of f
@@ -1055,7 +1055,7 @@ Example matches T(t) in return statement of f
 
-Matcher<Stmt>declRefExprMatcher<DeclRefExpr>... +Matcher<Stmt>declRefExprMatcher<DeclRefExpr>...
Matches expressions that refer to declarations.
 
 Example matches x in if (x)
@@ -1064,7 +1064,7 @@ Example matches x in if (x)
 
-Matcher<Stmt>declStmtMatcher<DeclStmt>... +Matcher<Stmt>declStmtMatcher<DeclStmt>...
Matches declaration statements.
 
 Given
@@ -1074,7 +1074,7 @@ declStmt()
 
-Matcher<Stmt>defaultStmtMatcher<DefaultStmt>... +Matcher<Stmt>defaultStmtMatcher<DefaultStmt>...
Matches default statements inside switch statements.
 
 Given
@@ -1084,7 +1084,7 @@ defaultStmt()
 
-Matcher<Stmt>designatedInitExprMatcher<DesignatedInitExpr>... +Matcher<Stmt>designatedInitExprMatcher<DesignatedInitExpr>...
Matches C99 designated initializer expressions [C99 6.7.8].
 
 Example: Matches { [2].y = 1.0, [0].x = 1.0 }
@@ -1092,7 +1092,7 @@ Example: Matches { [2].y = 1.0, [0].x = 1.0 }
 
-Matcher<Stmt>doStmtMatcher<DoStmt>... +Matcher<Stmt>doStmtMatcher<DoStmt>...
Matches do statements.
 
 Given
@@ -1102,7 +1102,7 @@ doStmt()
 
-Matcher<Stmt>explicitCastExprMatcher<ExplicitCastExpr>... +Matcher<Stmt>explicitCastExprMatcher<ExplicitCastExpr>...
Matches explicit cast expressions.
 
 Matches any cast expression written in user code, whether it be a
@@ -1123,7 +1123,7 @@ but does not match the implicit conversion in
 
-Matcher<Stmt>exprMatcher<Expr>... +Matcher<Stmt>exprMatcher<Expr>...
Matches expressions.
 
 Example matches x()
@@ -1131,7 +1131,7 @@ Example matches x()
 
-Matcher<Stmt>exprWithCleanupsMatcher<ExprWithCleanups>... +Matcher<Stmt>exprWithCleanupsMatcher<ExprWithCleanups>...
Matches expressions that introduce cleanups to be run at the end
 of the sub-expression's evaluation.
 
@@ -1140,7 +1140,7 @@ Example matches std::string()
 
-Matcher<Stmt>floatLiteralMatcher<FloatingLiteral>... +Matcher<Stmt>floatLiteralMatcher<FloatingLiteral>...
Matches float literals of all sizes encodings, e.g.
 1.0, 1.0f, 1.0L and 1e10.
 
@@ -1149,7 +1149,7 @@ Does not match implicit conversions such as
 
-Matcher<Stmt>forStmtMatcher<ForStmt>... +Matcher<Stmt>forStmtMatcher<ForStmt>...
Matches for statements.
 
 Example matches 'for (;;) {}'
@@ -1158,12 +1158,12 @@ Example matches 'for (;;) {}'
 
-Matcher<Stmt>gnuNullExprMatcher<GNUNullExpr>... +Matcher<Stmt>gnuNullExprMatcher<GNUNullExpr>...
Matches GNU __null expression.
 
-Matcher<Stmt>gotoStmtMatcher<GotoStmt>... +Matcher<Stmt>gotoStmtMatcher<GotoStmt>...
Matches goto statements.
 
 Given
@@ -1174,7 +1174,7 @@ gotoStmt()
 
-Matcher<Stmt>ifStmtMatcher<IfStmt>... +Matcher<Stmt>ifStmtMatcher<IfStmt>...
Matches if statements.
 
 Example matches 'if (x) {}'
@@ -1182,13 +1182,13 @@ Example matches 'if (x) {}'
 
-Matcher<Stmt>imaginaryLiteralMatcher<ImaginaryLiteral>... +Matcher<Stmt>imaginaryLiteralMatcher<ImaginaryLiteral>...
Matches imaginary literals, which are based on integer and floating
 point literals e.g.: 1i, 1.0i
 
-Matcher<Stmt>implicitCastExprMatcher<ImplicitCastExpr>... +Matcher<Stmt>implicitCastExprMatcher<ImplicitCastExpr>...
Matches the implicit cast nodes of Clang's AST.
 
 This matches many different places, including function call return value
@@ -1196,7 +1196,7 @@ eliding, as well as any type conversions.
 
-Matcher<Stmt>implicitValueInitExprMatcher<ImplicitValueInitExpr>... +Matcher<Stmt>implicitValueInitExprMatcher<ImplicitValueInitExpr>...
Matches implicit initializers of init list expressions.
 
 Given
@@ -1206,7 +1206,7 @@ implicitValueInitExpr()
 
-Matcher<Stmt>initListExprMatcher<InitListExpr>... +Matcher<Stmt>initListExprMatcher<InitListExpr>...
Matches init list expressions.
 
 Given
@@ -1218,7 +1218,7 @@ initListExpr()
 
-Matcher<Stmt>integerLiteralMatcher<IntegerLiteral>... +Matcher<Stmt>integerLiteralMatcher<IntegerLiteral>...
Matches integer literals of all sizes encodings, e.g.
 1, 1L, 0x1 and 1U.
 
@@ -1226,7 +1226,7 @@ Does not match character-encoded integers such as L'a'.
 
-Matcher<Stmt>labelStmtMatcher<LabelStmt>... +Matcher<Stmt>labelStmtMatcher<LabelStmt>...
Matches label statements.
 
 Given
@@ -1237,7 +1237,7 @@ labelStmt()
 
-Matcher<Stmt>lambdaExprMatcher<LambdaExpr>... +Matcher<Stmt>lambdaExprMatcher<LambdaExpr>...
Matches lambda expressions.
 
 Example matches [&](){return 5;}
@@ -1245,7 +1245,7 @@ Example matches [&](){return 5;}
 
-Matcher<Stmt>materializeTemporaryExprMatcher<MaterializeTemporaryExpr>... +Matcher<Stmt>materializeTemporaryExprMatcher<MaterializeTemporaryExpr>...
Matches nodes where temporaries are materialized.
 
 Example: Given
@@ -1261,7 +1261,7 @@ but does not match
 
-Matcher<Stmt>memberExprMatcher<MemberExpr>... +Matcher<Stmt>memberExprMatcher<MemberExpr>...
Matches member expressions.
 
 Given
@@ -1274,7 +1274,7 @@ memberExpr()
 
-Matcher<Stmt>nullStmtMatcher<NullStmt>... +Matcher<Stmt>nullStmtMatcher<NullStmt>...
Matches null statements.
 
   foo();;
@@ -1283,7 +1283,7 @@ nullStmt()
 
-Matcher<Stmt>objcCatchStmtMatcher<ObjCAtCatchStmt>... +Matcher<Stmt>objcCatchStmtMatcher<ObjCAtCatchStmt>...
Matches Objective-C @catch statements.
 
 Example matches @catch
@@ -1292,7 +1292,7 @@ Example matches @catch
 
-Matcher<Stmt>objcFinallyStmtMatcher<ObjCAtFinallyStmt>... +Matcher<Stmt>objcFinallyStmtMatcher<ObjCAtFinallyStmt>...
Matches Objective-C @finally statements.
 
 Example matches @finally
@@ -1301,7 +1301,7 @@ Example matches @finally
 
-Matcher<Stmt>objcIvarRefExprMatcher<ObjCIvarRefExpr>... +Matcher<Stmt>objcIvarRefExprMatcher<ObjCIvarRefExpr>...
Matches a reference to an ObjCIvar.
 
 Example: matches "a" in "init" method:
@@ -1314,7 +1314,7 @@ Example: matches "a" in "init" method:
 
-Matcher<Stmt>objcMessageExprMatcher<ObjCMessageExpr>... +Matcher<Stmt>objcMessageExprMatcher<ObjCMessageExpr>...
Matches ObjectiveC Message invocation expressions.
 
 The innermost message send invokes the "alloc" class method on the
@@ -1325,14 +1325,14 @@ NSString's "alloc". This matcher should match both message sends.
 
-Matcher<Stmt>objcThrowStmtMatcher<ObjCAtThrowStmt>... +Matcher<Stmt>objcThrowStmtMatcher<ObjCAtThrowStmt>...
Matches Objective-C statements.
 
 Example matches @throw obj;
 
-Matcher<Stmt>objcTryStmtMatcher<ObjCAtTryStmt>... +Matcher<Stmt>objcTryStmtMatcher<ObjCAtTryStmt>...
Matches Objective-C @try statements.
 
 Example matches @try
@@ -1341,7 +1341,7 @@ Example matches @try
 
-Matcher<Stmt>opaqueValueExprMatcher<OpaqueValueExpr>... +Matcher<Stmt>opaqueValueExprMatcher<OpaqueValueExpr>...
Matches opaque value expressions. They are used as helpers
 to reference another expressions and can be met
 in BinaryConditionalOperators, for example.
@@ -1351,7 +1351,7 @@ Example matches 'a'
 
-Matcher<Stmt>parenExprMatcher<ParenExpr>... +Matcher<Stmt>parenExprMatcher<ParenExpr>...
Matches parentheses used in expressions.
 
 Example matches (foo() + 1)
@@ -1360,7 +1360,7 @@ Example matches (foo() + 1)
 
-Matcher<Stmt>parenListExprMatcher<ParenListExpr>... +Matcher<Stmt>parenListExprMatcher<ParenListExpr>...
Matches paren list expressions.
 ParenListExprs don't have a predefined type and are used for late parsing.
 In the final AST, they can be met in template declarations.
@@ -1377,7 +1377,7 @@ has a predefined type and is a ParenExpr, not a ParenListExpr.
 
-Matcher<Stmt>predefinedExprMatcher<PredefinedExpr>... +Matcher<Stmt>predefinedExprMatcher<PredefinedExpr>...
Matches predefined identifier expressions [C99 6.4.2.2].
 
 Example: Matches __func__
@@ -1385,7 +1385,7 @@ Example: Matches __func__
 
-Matcher<Stmt>returnStmtMatcher<ReturnStmt>... +Matcher<Stmt>returnStmtMatcher<ReturnStmt>...
Matches return statements.
 
 Given
@@ -1395,7 +1395,7 @@ returnStmt()
 
-Matcher<Stmt>stmtMatcher<Stmt>... +Matcher<Stmt>stmtMatcher<Stmt>...
Matches statements.
 
 Given
@@ -1405,7 +1405,7 @@ stmt()
 
-Matcher<Stmt>stmtExprMatcher<StmtExpr>... +Matcher<Stmt>stmtExprMatcher<StmtExpr>...
Matches statement expression (GNU extension).
 
 Example match: ({ int X = 4; X; })
@@ -1413,7 +1413,7 @@ Example match: ({ int X = 4; X; })
 
-Matcher<Stmt>stringLiteralMatcher<StringLiteral>... +Matcher<Stmt>stringLiteralMatcher<StringLiteral>...
Matches string literals (also matches wide string literals).
 
 Example matches "abcd", L"abcd"
@@ -1422,7 +1422,7 @@ Example matches "abcd", L"abcd"
 
-Matcher<Stmt>substNonTypeTemplateParmExprMatcher<SubstNonTypeTemplateParmExpr>... +Matcher<Stmt>substNonTypeTemplateParmExprMatcher<SubstNonTypeTemplateParmExpr>...
Matches substitutions of non-type template parameters.
 
 Given
@@ -1434,7 +1434,7 @@ substNonTypeTemplateParmExpr()
 
-Matcher<Stmt>switchCaseMatcher<SwitchCase>... +Matcher<Stmt>switchCaseMatcher<SwitchCase>...
Matches case and default statements inside switch statements.
 
 Given
@@ -1444,7 +1444,7 @@ switchCase()
 
-Matcher<Stmt>switchStmtMatcher<SwitchStmt>... +Matcher<Stmt>switchStmtMatcher<SwitchStmt>...
Matches switch statements.
 
 Given
@@ -1454,7 +1454,7 @@ switchStmt()
 
-Matcher<Stmt>unaryExprOrTypeTraitExprMatcher<UnaryExprOrTypeTraitExpr>... +Matcher<Stmt>unaryExprOrTypeTraitExprMatcher<UnaryExprOrTypeTraitExpr>...
Matches sizeof (C99), alignof (C++11) and vec_step (OpenCL)
 
 Given
@@ -1465,7 +1465,7 @@ unaryExprOrTypeTraitExpr()
 
-Matcher<Stmt>unaryOperatorMatcher<UnaryOperator>... +Matcher<Stmt>unaryOperatorMatcher<UnaryOperator>...
Matches unary operator expressions.
 
 Example matches !a
@@ -1473,7 +1473,7 @@ Example matches !a
 
-Matcher<Stmt>unresolvedLookupExprMatcher<UnresolvedLookupExpr>... +Matcher<Stmt>unresolvedLookupExprMatcher<UnresolvedLookupExpr>...
Matches reference to a name that can be looked up during parsing
 but could not be resolved to a specific declaration.
 
@@ -1488,7 +1488,7 @@ unresolvedLookupExpr()
   matches foo<T>() 
-Matcher<Stmt>unresolvedMemberExprMatcher<UnresolvedMemberExpr>... +Matcher<Stmt>unresolvedMemberExprMatcher<UnresolvedMemberExpr>...
Matches unresolved member expressions.
 
 Given
@@ -1502,14 +1502,14 @@ unresolvedMemberExpr()
 
-Matcher<Stmt>userDefinedLiteralMatcher<UserDefinedLiteral>... +Matcher<Stmt>userDefinedLiteralMatcher<UserDefinedLiteral>...
Matches user defined literal operator call.
 
 Example match: "foo"_suffix
 
-Matcher<Stmt>whileStmtMatcher<WhileStmt>... +Matcher<Stmt>whileStmtMatcher<WhileStmt>...
Matches while statements.
 
 Given
@@ -1519,7 +1519,7 @@ whileStmt()
 
-Matcher<TemplateArgument>templateArgumentMatcher<TemplateArgument>... +Matcher<TemplateArgument>templateArgumentMatcher<TemplateArgument>...
Matches template arguments.
 
 Given
@@ -1530,7 +1530,7 @@ templateArgument()
 
-Matcher<TemplateName>templateNameMatcher<TemplateName>... +Matcher<TemplateName>templateNameMatcher<TemplateName>...
Matches template name.
 
 Given
@@ -1541,12 +1541,12 @@ templateName()
 
-Matcher<TypeLoc>typeLocMatcher<TypeLoc>... +Matcher<TypeLoc>typeLocMatcher<TypeLoc>...
Matches TypeLocs in the clang AST.
 
-Matcher<Type>arrayTypeMatcher<ArrayType>... +Matcher<Type>arrayTypeMatcher<ArrayType>...
Matches all kinds of arrays.
 
 Given
@@ -1558,7 +1558,7 @@ arrayType()
 
-Matcher<Type>atomicTypeMatcher<AtomicType>... +Matcher<Type>atomicTypeMatcher<AtomicType>...
Matches atomic types.
 
 Given
@@ -1568,7 +1568,7 @@ atomicType()
 
-Matcher<Type>autoTypeMatcher<AutoType>... +Matcher<Type>autoTypeMatcher<AutoType>...
Matches types nodes representing C++11 auto types.
 
 Given:
@@ -1580,7 +1580,7 @@ autoType()
 
-Matcher<Type>blockPointerTypeMatcher<BlockPointerType>... +Matcher<Type>blockPointerTypeMatcher<BlockPointerType>...
Matches block pointer types, i.e. types syntactically represented as
 "void (^)(int)".
 
@@ -1588,7 +1588,7 @@ The pointee is always required to be a FunctionType.
 
-Matcher<Type>builtinTypeMatcher<BuiltinType>... +Matcher<Type>builtinTypeMatcher<BuiltinType>...
Matches builtin Types.
 
 Given
@@ -1602,7 +1602,7 @@ builtinType()
 
-Matcher<Type>complexTypeMatcher<ComplexType>... +Matcher<Type>complexTypeMatcher<ComplexType>...
Matches C99 complex types.
 
 Given
@@ -1612,7 +1612,7 @@ complexType()
 
-Matcher<Type>constantArrayTypeMatcher<ConstantArrayType>... +Matcher<Type>constantArrayTypeMatcher<ConstantArrayType>...
Matches C arrays with a specified constant size.
 
 Given
@@ -1626,7 +1626,7 @@ constantArrayType()
 
-Matcher<Type>decayedTypeMatcher<DecayedType>... +Matcher<Type>decayedTypeMatcher<DecayedType>...
Matches decayed type
 Example matches i[] in declaration of f.
     (matcher = valueDecl(hasType(decayedType(hasDecayedType(pointerType())))))
@@ -1638,7 +1638,7 @@ Example matches i[1].
 
-Matcher<Type>decltypeTypeMatcher<DecltypeType>... +Matcher<Type>decltypeTypeMatcher<DecltypeType>...
Matches types nodes representing C++11 decltype(<expr>) types.
 
 Given:
@@ -1650,7 +1650,7 @@ decltypeType()
 
-Matcher<Type>dependentSizedArrayTypeMatcher<DependentSizedArrayType>... +Matcher<Type>dependentSizedArrayTypeMatcher<DependentSizedArrayType>...
Matches C++ arrays whose size is a value-dependent expression.
 
 Given
@@ -1663,7 +1663,7 @@ dependentSizedArrayType
 
-Matcher<Type>elaboratedTypeMatcher<ElaboratedType>... +Matcher<Type>elaboratedTypeMatcher<ElaboratedType>...
Matches types specified with an elaborated type keyword or with a
 qualified name.
 
@@ -1683,7 +1683,7 @@ c and d.
 
-Matcher<Type>enumTypeMatcher<EnumType>... +Matcher<Type>enumTypeMatcher<EnumType>...
Matches enum types.
 
 Given
@@ -1698,7 +1698,7 @@ s.
 
-Matcher<Type>functionProtoTypeMatcher<FunctionProtoType>... +Matcher<Type>functionProtoTypeMatcher<FunctionProtoType>...
Matches FunctionProtoType nodes.
 
 Given
@@ -1710,7 +1710,7 @@ functionProtoType()
 
-Matcher<Type>functionTypeMatcher<FunctionType>... +Matcher<Type>functionTypeMatcher<FunctionType>...
Matches FunctionType nodes.
 
 Given
@@ -1721,7 +1721,7 @@ functionType()
 
-Matcher<Type>incompleteArrayTypeMatcher<IncompleteArrayType>... +Matcher<Type>incompleteArrayTypeMatcher<IncompleteArrayType>...
Matches C arrays with unspecified size.
 
 Given
@@ -1733,7 +1733,7 @@ incompleteArrayType()
 
-Matcher<Type>injectedClassNameTypeMatcher<InjectedClassNameType>... +Matcher<Type>injectedClassNameTypeMatcher<InjectedClassNameType>...
Matches injected class name types.
 
 Example matches S s, but not S<T> s.
@@ -1745,7 +1745,7 @@ Example matches S s, but not S<T> s.
 
-Matcher<Type>lValueReferenceTypeMatcher<LValueReferenceType>... +Matcher<Type>lValueReferenceTypeMatcher<LValueReferenceType>...
Matches lvalue reference types.
 
 Given:
@@ -1762,7 +1762,7 @@ matched since the type is deduced as int& by reference collapsing rules.
 
-Matcher<Type>memberPointerTypeMatcher<MemberPointerType>... +Matcher<Type>memberPointerTypeMatcher<MemberPointerType>...
Matches member pointer types.
 Given
   struct A { int i; }
@@ -1772,7 +1772,7 @@ memberPointerType()
 
-Matcher<Type>objcObjectPointerTypeMatcher<ObjCObjectPointerType>... +Matcher<Type>objcObjectPointerTypeMatcher<ObjCObjectPointerType>...
Matches an Objective-C object pointer type, which is different from
 a pointer type, despite being syntactically similar.
 
@@ -1787,7 +1787,7 @@ pointerType()
 
-Matcher<Type>parenTypeMatcher<ParenType>... +Matcher<Type>parenTypeMatcher<ParenType>...
Matches ParenType nodes.
 
 Given
@@ -1799,7 +1799,7 @@ array_of_ptrs.
 
-Matcher<Type>pointerTypeMatcher<PointerType>... +Matcher<Type>pointerTypeMatcher<PointerType>...
Matches pointer types, but does not match Objective-C object pointer
 types.
 
@@ -1816,7 +1816,7 @@ pointerType()
 
-Matcher<Type>rValueReferenceTypeMatcher<RValueReferenceType>... +Matcher<Type>rValueReferenceTypeMatcher<RValueReferenceType>...
Matches rvalue reference types.
 
 Given:
@@ -1833,7 +1833,7 @@ matched as it is deduced to int& by reference collapsing rules.
 
-Matcher<Type>recordTypeMatcher<RecordType>... +Matcher<Type>recordTypeMatcher<RecordType>...
Matches record types (e.g. structs, classes).
 
 Given
@@ -1848,7 +1848,7 @@ and s.
 
-Matcher<Type>referenceTypeMatcher<ReferenceType>... +Matcher<Type>referenceTypeMatcher<ReferenceType>...
Matches both lvalue and rvalue reference types.
 
 Given
@@ -1864,7 +1864,7 @@ referenceType() matches the types of b, c, d, e, and f.
 
-Matcher<Type>substTemplateTypeParmTypeMatcher<SubstTemplateTypeParmType>... +Matcher<Type>substTemplateTypeParmTypeMatcher<SubstTemplateTypeParmType>...
Matches types that represent the result of substituting a type for a
 template type parameter.
 
@@ -1878,7 +1878,7 @@ substTemplateTypeParmType() matches the type of 't' but not '1'
 
-Matcher<Type>tagTypeMatcher<TagType>... +Matcher<Type>tagTypeMatcher<TagType>...
Matches tag types (record and enum types).
 
 Given
@@ -1893,7 +1893,7 @@ and c.
 
-Matcher<Type>templateSpecializationTypeMatcher<TemplateSpecializationType>... +Matcher<Type>templateSpecializationTypeMatcher<TemplateSpecializationType>...
Matches template specialization types.
 
 Given
@@ -1908,7 +1908,7 @@ instantiation in A and the type of the variable declaration in B.
 
-Matcher<Type>templateTypeParmTypeMatcher<TemplateTypeParmType>... +Matcher<Type>templateTypeParmTypeMatcher<TemplateTypeParmType>...
Matches template type parameter types.
 
 Example matches T, but not int.
@@ -1917,12 +1917,12 @@ Example matches T, but not int.
 
-Matcher<Type>typeMatcher<Type>... +Matcher<Type>typeMatcher<Type>...
Matches Types in the clang AST.
 
-Matcher<Type>typedefTypeMatcher<TypedefType>... +Matcher<Type>typedefTypeMatcher<TypedefType>...
Matches typedef types.
 
 Given
@@ -1932,7 +1932,7 @@ typedefType()
 
-Matcher<Type>unaryTransformTypeMatcher<UnaryTransformType>... +Matcher<Type>unaryTransformTypeMatcher<UnaryTransformType>...
Matches types nodes representing unary type transformations.
 
 Given:
@@ -1942,7 +1942,7 @@ unaryTransformType()
 
-Matcher<Type>variableArrayTypeMatcher<VariableArrayType>... +Matcher<Type>variableArrayTypeMatcher<VariableArrayType>...
Matches C arrays with a specified size that is not an
 integer-constant-expression.
 
@@ -2014,7 +2014,7 @@ Usable as: Any Matcher
 
-Matcher<BinaryOperator>hasOperatorNamestd::string Name +Matcher<BinaryOperator>hasOperatorNamestd::string Name
Matches the operator Name of operator expressions (binary or
 unary).
 
@@ -2023,7 +2023,7 @@ Example matches a || b (matcher = binaryOperator(hasOperatorName("||")))
 
-Matcher<BinaryOperator>isAssignmentOperator +Matcher<BinaryOperator>isAssignmentOperator
Matches all kinds of assignment operators.
 
 Example 1: matches a += b (matcher = binaryOperator(isAssignmentOperator()))
@@ -2037,11 +2037,11 @@ Example 2: matches s1 = s2
 
-Matcher<CXXBoolLiteralExpr>equalsbool Value +Matcher<CXXBoolLiteralExpr>equalsbool Value

 
 
-Matcher<CXXBoolLiteralExpr>equalsconst ValueT  Value
+Matcher<CXXBoolLiteralExpr>equalsconst ValueT  Value
 
Matches literals that are equal to the given value of type ValueT.
 
 Given
@@ -2062,20 +2062,20 @@ matcher to match the minus sign:
 unaryOperator(hasOperatorName("-"),
               hasUnaryOperand(integerLiteral(equals(13))))
 
-Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteralExpr>,
-           Matcher<FloatingLiteral>, Matcher<IntegerLiteral>
+Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteralExpr>,
+           Matcher<FloatingLiteral>, Matcher<IntegerLiteral>
 
-Matcher<CXXBoolLiteralExpr>equalsdouble Value +Matcher<CXXBoolLiteralExpr>equalsdouble Value

 
 
-Matcher<CXXBoolLiteralExpr>equalsunsigned Value
+Matcher<CXXBoolLiteralExpr>equalsunsigned Value
 

 
 
-Matcher<CXXCatchStmt>isCatchAll
+Matcher<CXXCatchStmt>isCatchAll
 
Matches a C++ catch statement that has a catch-all handler.
 
 Given
@@ -2091,7 +2091,7 @@ cxxCatchStmt(isCatchAll()) matches catch(...) but not catch(int).
 
-Matcher<CXXConstructExpr>argumentCountIsunsigned N +Matcher<CXXConstructExpr>argumentCountIsunsigned N
Checks that a call expression or a constructor call expression has
 a specific number of arguments (including absent default arguments).
 
@@ -2101,12 +2101,12 @@ Example matches f(0, 0) (matcher = callExpr(argumentCountIs(2)))
 
-Matcher<CXXConstructExpr>isListInitialization +Matcher<CXXConstructExpr>isListInitialization
Matches a constructor call expression which uses list initialization.
 
-Matcher<CXXConstructExpr>requiresZeroInitialization +Matcher<CXXConstructExpr>requiresZeroInitialization
Matches a constructor call expression which requires
 zero initialization.
 
@@ -2120,7 +2120,7 @@ will match the implicit array filler for pt[1].
 
-Matcher<CXXConstructorDecl>isCopyConstructor +Matcher<CXXConstructorDecl>isCopyConstructor
Matches constructor declarations that are copy constructors.
 
 Given
@@ -2133,7 +2133,7 @@ cxxConstructorDecl(isCopyConstructor()) will match #2, but not #1 or #3.
 
-Matcher<CXXConstructorDecl>isDefaultConstructor +Matcher<CXXConstructorDecl>isDefaultConstructor
Matches constructor declarations that are default constructors.
 
 Given
@@ -2146,7 +2146,7 @@ cxxConstructorDecl(isDefaultConstructor()) will match #1, but not #2 or #3.
 
-Matcher<CXXConstructorDecl>isDelegatingConstructor +Matcher<CXXConstructorDecl>isDelegatingConstructor
Matches constructors that delegate to another constructor.
 
 Given
@@ -2161,7 +2161,7 @@ cxxConstructorDecl(isDelegatingConstructor()) will match #3 and #4, but not
 
-Matcher<CXXConstructorDecl>isExplicit +Matcher<CXXConstructorDecl>isExplicit
Matches constructor and conversion declarations that are marked with
 the explicit keyword.
 
@@ -2177,7 +2177,7 @@ cxxConversionDecl(isExplicit()) will match #4, but not #3.
 
-Matcher<CXXConstructorDecl>isMoveConstructor +Matcher<CXXConstructorDecl>isMoveConstructor
Matches constructor declarations that are move constructors.
 
 Given
@@ -2190,7 +2190,7 @@ cxxConstructorDecl(isMoveConstructor()) will match #3, but not #1 or #2.
 
-Matcher<CXXConversionDecl>isExplicit +Matcher<CXXConversionDecl>isExplicit
Matches constructor and conversion declarations that are marked with
 the explicit keyword.
 
@@ -2206,7 +2206,7 @@ cxxConversionDecl(isExplicit()) will match #4, but not #3.
 
-Matcher<CXXCtorInitializer>isBaseInitializer +Matcher<CXXCtorInitializer>isBaseInitializer
Matches a constructor initializer if it is initializing a base, as
 opposed to a member.
 
@@ -2224,7 +2224,7 @@ cxxConstructorDecl(hasAnyConstructorInitializer(isBaseInitializer()))
 
-Matcher<CXXCtorInitializer>isMemberInitializer +Matcher<CXXCtorInitializer>isMemberInitializer
Matches a constructor initializer if it is initializing a member, as
 opposed to a base.
 
@@ -2242,7 +2242,7 @@ cxxConstructorDecl(hasAnyConstructorInitializer(isMemberInitializer()))
 
-Matcher<CXXCtorInitializer>isWritten +Matcher<CXXCtorInitializer>isWritten
Matches a constructor initializer if it is explicitly written in
 code (as opposed to implicitly added by the compiler).
 
@@ -2257,7 +2257,7 @@ cxxConstructorDecl(hasAnyConstructorInitializer(isWritten()))
 
-Matcher<CXXDependentScopeMemberExpr>isArrow +Matcher<CXXDependentScopeMemberExpr>isArrow
Matches member expressions that are called with '->' as opposed
 to '.'.
 
@@ -2283,7 +2283,7 @@ unresolvedMemberExpr(isArrow())
 
-Matcher<CXXMethodDecl>isConst +Matcher<CXXMethodDecl>isConst
Matches if the given method declaration is const.
 
 Given
@@ -2296,7 +2296,7 @@ cxxMethodDecl(isConst()) matches A::foo() but not A::bar()
 
-Matcher<CXXMethodDecl>isCopyAssignmentOperator +Matcher<CXXMethodDecl>isCopyAssignmentOperator
Matches if the given method declaration declares a copy assignment
 operator.
 
@@ -2311,7 +2311,7 @@ the second one.
 
-Matcher<CXXMethodDecl>isFinal +Matcher<CXXMethodDecl>isFinal
Matches if the given method or class declaration is final.
 
 Given:
@@ -2328,7 +2328,7 @@ matches A and C::f, but not B, C, or B::f
 
-Matcher<CXXMethodDecl>isMoveAssignmentOperator +Matcher<CXXMethodDecl>isMoveAssignmentOperator
Matches if the given method declaration declares a move assignment
 operator.
 
@@ -2343,7 +2343,7 @@ the first one.
 
-Matcher<CXXMethodDecl>isOverride +Matcher<CXXMethodDecl>isOverride
Matches if the given method declaration overrides another method.
 
 Given
@@ -2359,7 +2359,7 @@ Given
 
-Matcher<CXXMethodDecl>isPure +Matcher<CXXMethodDecl>isPure
Matches if the given method declaration is pure.
 
 Given
@@ -2371,7 +2371,7 @@ Given
 
-Matcher<CXXMethodDecl>isUserProvided +Matcher<CXXMethodDecl>isUserProvided
Matches method declarations that are user-provided.
 
 Given
@@ -2384,7 +2384,7 @@ cxxConstructorDecl(isUserProvided()) will match #1, but not #2 or #3.
 
-Matcher<CXXMethodDecl>isVirtual +Matcher<CXXMethodDecl>isVirtual
Matches if the given method declaration is virtual.
 
 Given
@@ -2396,7 +2396,7 @@ Given
 
-Matcher<CXXMethodDecl>isVirtualAsWritten +Matcher<CXXMethodDecl>isVirtualAsWritten
Matches if the given method declaration has an explicit "virtual".
 
 Given
@@ -2412,7 +2412,7 @@ Given
 
-Matcher<CXXNewExpr>isArray +Matcher<CXXNewExpr>isArray
Matches array new expressions.
 
 Given:
@@ -2422,7 +2422,7 @@ cxxNewExpr(isArray())
 
-Matcher<CXXOperatorCallExpr>hasOverloadedOperatorNameStringRef Name +Matcher<CXXOperatorCallExpr>hasOverloadedOperatorNameStringRef Name
Matches overloaded operator names.
 
 Matches overloaded operator names specified in strings without the
@@ -2439,11 +2439,11 @@ specified line and
 cxxRecordDecl(hasMethod(hasOverloadedOperatorName("*")))
 matches the declaration of A.
 
-Usable as: Matcher<CXXOperatorCallExpr>, Matcher<FunctionDecl>
+Usable as: Matcher<CXXOperatorCallExpr>, Matcher<FunctionDecl>
 
-Matcher<CXXOperatorCallExpr>isAssignmentOperator +Matcher<CXXOperatorCallExpr>isAssignmentOperator
Matches all kinds of assignment operators.
 
 Example 1: matches a += b (matcher = binaryOperator(isAssignmentOperator()))
@@ -2457,7 +2457,7 @@ Example 2: matches s1 = s2
 
-Matcher<CXXRecordDecl>hasDefinition +Matcher<CXXRecordDecl>hasDefinition
Matches a class declaration that is defined.
 
 Example matches x (matcher = cxxRecordDecl(hasDefinition()))
@@ -2466,12 +2466,12 @@ class y;
 
-Matcher<CXXRecordDecl>isDerivedFromstd::string BaseName +Matcher<CXXRecordDecl>isDerivedFromstd::string BaseName
Overloaded method as shortcut for isDerivedFrom(hasName(...)).
 
-Matcher<CXXRecordDecl>isExplicitTemplateSpecialization +Matcher<CXXRecordDecl>isExplicitTemplateSpecialization
Matches explicit template specializations of function, class, or
 static member variable template instantiations.
 
@@ -2481,11 +2481,11 @@ Given
 functionDecl(isExplicitTemplateSpecialization())
   matches the specialization A<int>().
 
-Usable as: Matcher<FunctionDecl>, Matcher<VarDecl>, Matcher<CXXRecordDecl>
+Usable as: Matcher<FunctionDecl>, Matcher<VarDecl>, Matcher<CXXRecordDecl>
 
-Matcher<CXXRecordDecl>isFinal +Matcher<CXXRecordDecl>isFinal
Matches if the given method or class declaration is final.
 
 Given:
@@ -2502,7 +2502,7 @@ matches A and C::f, but not B, C, or B::f
 
-Matcher<CXXRecordDecl>isLambda +Matcher<CXXRecordDecl>isLambda
Matches the generated class of lambda expressions.
 
 Given:
@@ -2513,13 +2513,13 @@ decltype(x)
 
-Matcher<CXXRecordDecl>isSameOrDerivedFromstd::string BaseName +Matcher<CXXRecordDecl>isSameOrDerivedFromstd::string BaseName
Overloaded method as shortcut for
 isSameOrDerivedFrom(hasName(...)).
 
-Matcher<CXXRecordDecl>isTemplateInstantiation +Matcher<CXXRecordDecl>isTemplateInstantiation
Matches template instantiations of function, class, or static
 member variable template instantiations.
 
@@ -2538,11 +2538,11 @@ But given
 cxxRecordDecl(hasName("::X"), isTemplateInstantiation())
   does not match, as X<A> is an explicit template specialization.
 
-Usable as: Matcher<FunctionDecl>, Matcher<VarDecl>, Matcher<CXXRecordDecl>
+Usable as: Matcher<FunctionDecl>, Matcher<VarDecl>, Matcher<CXXRecordDecl>
 
-Matcher<CallExpr>argumentCountIsunsigned N +Matcher<CallExpr>argumentCountIsunsigned N
Checks that a call expression or a constructor call expression has
 a specific number of arguments (including absent default arguments).
 
@@ -2552,7 +2552,7 @@ Example matches f(0, 0) (matcher = callExpr(argumentCountIs(2)))
 
-Matcher<CastExpr>hasCastKindCastKind Kind +Matcher<CastExpr>hasCastKindCastKind Kind
Matches casts that has a given cast kind.
 
 Example: matches the implicit cast around 0
@@ -2561,11 +2561,11 @@ Example: matches the implicit cast around 0
 
-Matcher<CharacterLiteral>equalsbool Value +Matcher<CharacterLiteral>equalsbool Value

 
 
-Matcher<CharacterLiteral>equalsconst ValueT  Value
+Matcher<CharacterLiteral>equalsconst ValueT  Value
 
Matches literals that are equal to the given value of type ValueT.
 
 Given
@@ -2586,20 +2586,20 @@ matcher to match the minus sign:
 unaryOperator(hasOperatorName("-"),
               hasUnaryOperand(integerLiteral(equals(13))))
 
-Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteralExpr>,
-           Matcher<FloatingLiteral>, Matcher<IntegerLiteral>
+Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteralExpr>,
+           Matcher<FloatingLiteral>, Matcher<IntegerLiteral>
 
-Matcher<CharacterLiteral>equalsdouble Value +Matcher<CharacterLiteral>equalsdouble Value

 
 
-Matcher<CharacterLiteral>equalsunsigned Value
+Matcher<CharacterLiteral>equalsunsigned Value
 

 
 
-Matcher<ClassTemplateSpecializationDecl>templateArgumentCountIsunsigned N
+Matcher<ClassTemplateSpecializationDecl>templateArgumentCountIsunsigned N
 
Matches if the number of template arguments equals N.
 
 Given
@@ -2610,7 +2610,7 @@ classTemplateSpecializationDecl(templateArgumentCountIs(1))
 
-Matcher<CompoundStmt>statementCountIsunsigned N +Matcher<CompoundStmt>statementCountIsunsigned N
Checks that a compound statement contains a specific number of
 child statements.
 
@@ -2622,7 +2622,7 @@ compoundStmt(statementCountIs(0)))
 
-Matcher<ConstantArrayType>hasSizeunsigned N +Matcher<ConstantArrayType>hasSizeunsigned N
Matches nodes that have the specified size.
 
 Given
@@ -2639,7 +2639,7 @@ stringLiteral(hasSize(4))
 
-Matcher<DeclStmt>declCountIsunsigned N +Matcher<DeclStmt>declCountIsunsigned N
Matches declaration statements that contain a specific number of
 declarations.
 
@@ -2652,7 +2652,7 @@ declCountIs(2)
 
-Matcher<Decl>equalsBoundNodestd::string ID +Matcher<Decl>equalsBoundNodestd::string ID
Matches if a node equals a previously bound node.
 
 Matches a node if it equals the node previously bound to ID.
@@ -2675,14 +2675,14 @@ and reference to that variable declaration within a compound statement.
 
-Matcher<Decl>equalsNodeconst Decl* Other +Matcher<Decl>equalsNodeconst Decl* Other
Matches if a node equals another node.
 
 Decl has pointer identity in the AST.
 
-Matcher<Decl>hasAttrattr::Kind AttrKind +Matcher<Decl>hasAttrattr::Kind AttrKind
Matches declaration that has a given attribute.
 
 Given
@@ -2693,7 +2693,7 @@ passed as a quoted string. e.g., hasAttr("attr::CUDADevice").
 
-Matcher<Decl>isExpansionInFileMatchingstd::string RegExp +Matcher<Decl>isExpansionInFileMatchingstd::string RegExp
Matches AST nodes that were expanded within files whose name is
 partially matching a given regex.
 
@@ -2704,11 +2704,11 @@ Example matches Y but not X
 ASTMatcher.h:
   class Y {};
 
-Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
+Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
 
-Matcher<Decl>isExpansionInMainFile +Matcher<Decl>isExpansionInMainFile
Matches AST nodes that were expanded within the main-file.
 
 Example matches X but not Y
@@ -2718,11 +2718,11 @@ Example matches X but not Y
 Y.h:
   class Y {};
 
-Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
+Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
 
-Matcher<Decl>isExpansionInSystemHeader +Matcher<Decl>isExpansionInSystemHeader
Matches AST nodes that were expanded within system-header-files.
 
 Example matches Y but not X
@@ -2732,17 +2732,17 @@ Example matches Y but not X
 SystemHeader.h:
   class Y {};
 
-Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
+Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
 
-Matcher<Decl>isImplicit +Matcher<Decl>isImplicit
Matches a declaration that has been implicitly added
 by the compiler (eg. implicit defaultcopy constructors).
 
-Matcher<Decl>isPrivate +Matcher<Decl>isPrivate
Matches private C++ declarations.
 
 Given
@@ -2756,7 +2756,7 @@ fieldDecl(isPrivate())
 
-Matcher<Decl>isProtected +Matcher<Decl>isProtected
Matches protected C++ declarations.
 
 Given
@@ -2770,7 +2770,7 @@ fieldDecl(isProtected())
 
-Matcher<Decl>isPublic +Matcher<Decl>isPublic
Matches public C++ declarations.
 
 Given
@@ -2784,7 +2784,7 @@ fieldDecl(isPublic())
 
-Matcher<DesignatedInitExpr>designatorCountIsunsigned N +Matcher<DesignatedInitExpr>designatorCountIsunsigned N
Matches designated initializer expressions that contain
 a specific number of designators.
 
@@ -2797,7 +2797,7 @@ designatorCountIs(2)
 
-Matcher<EnumDecl>isScoped +Matcher<EnumDecl>isScoped
Matches C++11 scoped enum declaration.
 
 Example matches Y (matcher = enumDecl(isScoped()))
@@ -2806,7 +2806,7 @@ enum class Y {};
 
-Matcher<Expr>isInstantiationDependent +Matcher<Expr>isInstantiationDependent
Matches expressions that are instantiation-dependent even if it is
 neither type- nor value-dependent.
 
@@ -2821,7 +2821,7 @@ expr(isInstantiationDependent()) matches sizeof(sizeof(T() + T())
 
-Matcher<Expr>isTypeDependent +Matcher<Expr>isTypeDependent
Matches expressions that are type-dependent because the template type
 is not yet instantiated.
 
@@ -2835,7 +2835,7 @@ expr(isTypeDependent()) matches x + y
 
-Matcher<Expr>isValueDependent +Matcher<Expr>isValueDependent
Matches expression that are value-dependent because they contain a
 non-type template parameter.
 
@@ -2846,7 +2846,7 @@ expr(isValueDependent()) matches return Size
 
-Matcher<FieldDecl>hasBitWidthunsigned Width +Matcher<FieldDecl>hasBitWidthunsigned Width
Matches non-static data members that are bit-fields of the specified
 bit width.
 
@@ -2861,7 +2861,7 @@ fieldDecl(hasBitWidth(2))
 
-Matcher<FieldDecl>isBitField +Matcher<FieldDecl>isBitField
Matches non-static data members that are bit-fields.
 
 Given
@@ -2874,7 +2874,7 @@ fieldDecl(isBitField())
 
-Matcher<FloatingLiteral>equalsconst ValueT Value +Matcher<FloatingLiteral>equalsconst ValueT Value
Matches literals that are equal to the given value of type ValueT.
 
 Given
@@ -2895,16 +2895,16 @@ matcher to match the minus sign:
 unaryOperator(hasOperatorName("-"),
               hasUnaryOperand(integerLiteral(equals(13))))
 
-Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteralExpr>,
-           Matcher<FloatingLiteral>, Matcher<IntegerLiteral>
+Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteralExpr>,
+           Matcher<FloatingLiteral>, Matcher<IntegerLiteral>
 
-Matcher<FloatingLiteral>equalsdouble Value +Matcher<FloatingLiteral>equalsdouble Value

 
 
-Matcher<FunctionDecl>hasDynamicExceptionSpec
+Matcher<FunctionDecl>hasDynamicExceptionSpec
 
Matches functions that have a dynamic exception specification.
 
 Given:
@@ -2921,7 +2921,7 @@ functionDecl(hasDynamicExceptionSpec()) and
 
-Matcher<FunctionDecl>hasOverloadedOperatorNameStringRef Name +Matcher<FunctionDecl>hasOverloadedOperatorNameStringRef Name
Matches overloaded operator names.
 
 Matches overloaded operator names specified in strings without the
@@ -2938,11 +2938,11 @@ specified line and
 cxxRecordDecl(hasMethod(hasOverloadedOperatorName("*")))
 matches the declaration of A.
 
-Usable as: Matcher<CXXOperatorCallExpr>, Matcher<FunctionDecl>
+Usable as: Matcher<CXXOperatorCallExpr>, Matcher<FunctionDecl>
 
-Matcher<FunctionDecl>hasTrailingReturn +Matcher<FunctionDecl>hasTrailingReturn
Matches a function declared with a trailing return type.
 
 Example matches Y (matcher = functionDecl(hasTrailingReturn()))
@@ -2951,7 +2951,7 @@ auto Y() -> int {}
 
-Matcher<FunctionDecl>isConstexpr +Matcher<FunctionDecl>isConstexpr
Matches constexpr variable and function declarations,
        and if constexpr.
 
@@ -2968,7 +2968,7 @@ ifStmt(isConstexpr())
 
-Matcher<FunctionDecl>isDefaulted +Matcher<FunctionDecl>isDefaulted
Matches defaulted function declarations.
 
 Given:
@@ -2979,7 +2979,7 @@ functionDecl(isDefaulted())
 
-Matcher<FunctionDecl>isDefinition +Matcher<FunctionDecl>isDefinition
Matches if a declaration has a body attached.
 
 Example matches A, va, fa
@@ -2996,12 +2996,12 @@ Example matches A, va, fa
   - (void)ma {}
   @end
 
-Usable as: Matcher<TagDecl>, Matcher<VarDecl>, Matcher<FunctionDecl>,
-  Matcher<ObjCMethodDecl>
+Usable as: Matcher<TagDecl>, Matcher<VarDecl>, Matcher<FunctionDecl>,
+  Matcher<ObjCMethodDecl>
 
-Matcher<FunctionDecl>isDeleted +Matcher<FunctionDecl>isDeleted
Matches deleted function declarations.
 
 Given:
@@ -3012,7 +3012,7 @@ functionDecl(isDeleted())
 
-Matcher<FunctionDecl>isExplicitTemplateSpecialization +Matcher<FunctionDecl>isExplicitTemplateSpecialization
Matches explicit template specializations of function, class, or
 static member variable template instantiations.
 
@@ -3022,11 +3022,11 @@ Given
 functionDecl(isExplicitTemplateSpecialization())
   matches the specialization A<int>().
 
-Usable as: Matcher<FunctionDecl>, Matcher<VarDecl>, Matcher<CXXRecordDecl>
+Usable as: Matcher<FunctionDecl>, Matcher<VarDecl>, Matcher<CXXRecordDecl>
 
-Matcher<FunctionDecl>isExternC +Matcher<FunctionDecl>isExternC
Matches extern "C" function or variable declarations.
 
 Given:
@@ -3043,7 +3043,7 @@ varDecl(isExternC())
 
-Matcher<FunctionDecl>isInline +Matcher<FunctionDecl>isInline
Matches function and namespace declarations that are marked with
 the inline keyword.
 
@@ -3058,13 +3058,13 @@ namespaceDecl(isInline()) will match n::m.
 
-Matcher<FunctionDecl>isMain +Matcher<FunctionDecl>isMain
Determines whether the function is "main", which is the entry point
 into an executable program.
 
-Matcher<FunctionDecl>isNoReturn +Matcher<FunctionDecl>isNoReturn
Matches FunctionDecls that have a noreturn attribute.
 
 Given
@@ -3078,7 +3078,7 @@ functionDecl(isNoReturn())
 
-Matcher<FunctionDecl>isNoThrow +Matcher<FunctionDecl>isNoThrow
Matches functions that have a non-throwing exception specification.
 
 Given:
@@ -3092,7 +3092,7 @@ functionDecl(isNoThrow()) and functionProtoType(isNoThrow())
 
-Matcher<FunctionDecl>isStaticStorageClass +Matcher<FunctionDecl>isStaticStorageClass
Matches variablefunction declarations that have "static" storage
 class specifier ("static" keyword) written in the source.
 
@@ -3108,7 +3108,7 @@ varDecl(isStaticStorageClass())
 
-Matcher<FunctionDecl>isTemplateInstantiation +Matcher<FunctionDecl>isTemplateInstantiation
Matches template instantiations of function, class, or static
 member variable template instantiations.
 
@@ -3127,11 +3127,11 @@ But given
 cxxRecordDecl(hasName("::X"), isTemplateInstantiation())
   does not match, as X<A> is an explicit template specialization.
 
-Usable as: Matcher<FunctionDecl>, Matcher<VarDecl>, Matcher<CXXRecordDecl>
+Usable as: Matcher<FunctionDecl>, Matcher<VarDecl>, Matcher<CXXRecordDecl>
 
-Matcher<FunctionDecl>isVariadic +Matcher<FunctionDecl>isVariadic
Matches if a function declaration is variadic.
 
 Example matches f, but not g or h. The function i will not match, even when
@@ -3143,7 +3143,7 @@ compiled in C mode.
 
-Matcher<FunctionDecl>parameterCountIsunsigned N +Matcher<FunctionDecl>parameterCountIsunsigned N
Matches FunctionDecls and FunctionProtoTypes that have a
 specific parameter count.
 
@@ -3162,7 +3162,7 @@ functionProtoType(parameterCountIs(3))
 
-Matcher<FunctionProtoType>hasDynamicExceptionSpec +Matcher<FunctionProtoType>hasDynamicExceptionSpec
Matches functions that have a dynamic exception specification.
 
 Given:
@@ -3179,7 +3179,7 @@ functionDecl(hasDynamicExceptionSpec()) and
 
-Matcher<FunctionProtoType>isNoThrow +Matcher<FunctionProtoType>isNoThrow
Matches functions that have a non-throwing exception specification.
 
 Given:
@@ -3193,7 +3193,7 @@ functionDecl(isNoThrow()) and functionProtoType(isNoThrow())
 
-Matcher<FunctionProtoType>parameterCountIsunsigned N +Matcher<FunctionProtoType>parameterCountIsunsigned N
Matches FunctionDecls and FunctionProtoTypes that have a
 specific parameter count.
 
@@ -3212,7 +3212,7 @@ functionProtoType(parameterCountIs(3))
 
-Matcher<IfStmt>isConstexpr +Matcher<IfStmt>isConstexpr
Matches constexpr variable and function declarations,
        and if constexpr.
 
@@ -3229,11 +3229,11 @@ ifStmt(isConstexpr())
 
-Matcher<IntegerLiteral>equalsbool Value +Matcher<IntegerLiteral>equalsbool Value

 
 
-Matcher<IntegerLiteral>equalsconst ValueT  Value
+Matcher<IntegerLiteral>equalsconst ValueT  Value
 
Matches literals that are equal to the given value of type ValueT.
 
 Given
@@ -3254,20 +3254,20 @@ matcher to match the minus sign:
 unaryOperator(hasOperatorName("-"),
               hasUnaryOperand(integerLiteral(equals(13))))
 
-Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteralExpr>,
-           Matcher<FloatingLiteral>, Matcher<IntegerLiteral>
+Usable as: Matcher<CharacterLiteral>, Matcher<CXXBoolLiteralExpr>,
+           Matcher<FloatingLiteral>, Matcher<IntegerLiteral>
 
-Matcher<IntegerLiteral>equalsdouble Value +Matcher<IntegerLiteral>equalsdouble Value

 
 
-Matcher<IntegerLiteral>equalsunsigned Value
+Matcher<IntegerLiteral>equalsunsigned Value
 

 
 
-Matcher<MemberExpr>isArrow
+Matcher<MemberExpr>isArrow
 
Matches member expressions that are called with '->' as opposed
 to '.'.
 
@@ -3293,7 +3293,7 @@ unresolvedMemberExpr(isArrow())
 
-Matcher<NamedDecl>hasExternalFormalLinkage +Matcher<NamedDecl>hasExternalFormalLinkage
Matches a declaration that has external formal linkage.
 
 Example matches only z (matcher = varDecl(hasExternalFormalLinkage()))
@@ -3313,7 +3313,7 @@ void f() {}
 
-Matcher<NamedDecl>hasNameconst std::string Name +Matcher<NamedDecl>hasNameconst std::string Name
Matches NamedDecl nodes that have the specified name.
 
 Supports specifying enclosing namespaces or classes by prefixing the name
@@ -3328,7 +3328,7 @@ Example matches X (Name is one of "::a::b::X", "a::b::X", "b::X", "X")
 
-Matcher<NamedDecl>matchesNamestd::string RegExp +Matcher<NamedDecl>matchesNamestd::string RegExp
Matches NamedDecl nodes whose fully qualified names contain
 a substring matched by the given RegExp.
 
@@ -3344,7 +3344,7 @@ Example matches X (regexp is one of "::X", "^foo::.*X", among others)
 
-Matcher<NamespaceDecl>isAnonymous +Matcher<NamespaceDecl>isAnonymous
Matches anonymous namespace declarations.
 
 Given
@@ -3355,7 +3355,7 @@ namespaceDecl(isAnonymous()) will match #1 but not ::n.
 
-Matcher<NamespaceDecl>isInline +Matcher<NamespaceDecl>isInline
Matches function and namespace declarations that are marked with
 the inline keyword.
 
@@ -3370,7 +3370,7 @@ namespaceDecl(isInline()) will match n::m.
 
-Matcher<ObjCMessageExpr>argumentCountIsunsigned N +Matcher<ObjCMessageExpr>argumentCountIsunsigned N
Checks that a call expression or a constructor call expression has
 a specific number of arguments (including absent default arguments).
 
@@ -3380,7 +3380,7 @@ Example matches f(0, 0) (matcher = callExpr(argumentCountIs(2)))
 
-Matcher<ObjCMessageExpr>hasKeywordSelector +Matcher<ObjCMessageExpr>hasKeywordSelector
Matches when the selector is a keyword selector
 
 objCMessageExpr(hasKeywordSelector()) matches the generated setFrame
@@ -3394,7 +3394,7 @@ message expression in
 
-Matcher<ObjCMessageExpr>hasNullSelector +Matcher<ObjCMessageExpr>hasNullSelector
Matches when the selector is the empty selector
 
 Matches only when the selector of the objCMessageExpr is NULL. This may
@@ -3402,7 +3402,7 @@ represent an error condition in the tree!
 
-Matcher<ObjCMessageExpr>hasSelectorstd::string BaseName +Matcher<ObjCMessageExpr>hasSelectorstd::string BaseName
Matches when BaseName == Selector.getAsString()
 
  matcher = objCMessageExpr(hasSelector("loadHTMLString:baseURL:"));
@@ -3412,7 +3412,7 @@ represent an error condition in the tree!
 
-Matcher<ObjCMessageExpr>hasUnarySelector +Matcher<ObjCMessageExpr>hasUnarySelector
Matches when the selector is a Unary Selector
 
  matcher = objCMessageExpr(matchesSelector(hasUnarySelector());
@@ -3422,7 +3422,7 @@ represent an error condition in the tree!
 
-Matcher<ObjCMessageExpr>isInstanceMessage +Matcher<ObjCMessageExpr>isInstanceMessage
Returns true when the Objective-C message is sent to an instance.
 
 Example
@@ -3435,7 +3435,7 @@ but not
 
-Matcher<ObjCMessageExpr>matchesSelectorstd::string RegExp +Matcher<ObjCMessageExpr>matchesSelectorstd::string RegExp
Matches ObjC selectors whose name contains
 a substring matched by the given RegExp.
  matcher = objCMessageExpr(matchesSelector("loadHTMLStringmatches the outer message expr in the code below, but NOT the message
@@ -3444,7 +3444,7 @@ a substring matched by the given RegExp.
 
-Matcher<ObjCMessageExpr>numSelectorArgsunsigned N +Matcher<ObjCMessageExpr>numSelectorArgsunsigned N
Matches when the selector has the specified number of arguments
 
  matcher = objCMessageExpr(numSelectorArgs(0));
@@ -3457,7 +3457,7 @@ a substring matched by the given RegExp.
 
-Matcher<ObjCMethodDecl>isDefinition +Matcher<ObjCMethodDecl>isDefinition
Matches if a declaration has a body attached.
 
 Example matches A, va, fa
@@ -3474,12 +3474,12 @@ Example matches A, va, fa
   - (void)ma {}
   @end
 
-Usable as: Matcher<TagDecl>, Matcher<VarDecl>, Matcher<FunctionDecl>,
-  Matcher<ObjCMethodDecl>
+Usable as: Matcher<TagDecl>, Matcher<VarDecl>, Matcher<FunctionDecl>,
+  Matcher<ObjCMethodDecl>
 
-Matcher<ParmVarDecl>hasDefaultArgument +Matcher<ParmVarDecl>hasDefaultArgument
Matches a declaration that has default arguments.
 
 Example matches y (matcher = parmVarDecl(hasDefaultArgument()))
@@ -3488,7 +3488,7 @@ void y(int val = 0) {}
 
-Matcher<QualType>asStringstd::string Name +Matcher<QualType>asStringstd::string Name
Matches if the matched type is represented by the given string.
 
 Given
@@ -3499,7 +3499,7 @@ cxxMemberCallExpr(on(hasType(asString("class Y *"))))
 
-Matcher<QualType>equalsBoundNodestd::string ID +Matcher<QualType>equalsBoundNodestd::string ID
Matches if a node equals a previously bound node.
 
 Matches a node if it equals the node previously bound to ID.
@@ -3522,7 +3522,7 @@ and reference to that variable declaration within a compound statement.
 
-Matcher<QualType>hasLocalQualifiers +Matcher<QualType>hasLocalQualifiers
Matches QualType nodes that have local CV-qualifiers attached to
 the node, not hidden within a typedef.
 
@@ -3537,7 +3537,7 @@ i is const-qualified but the qualifier is not local.
 
-Matcher<QualType>isAnyCharacter +Matcher<QualType>isAnyCharacter
Matches QualType nodes that are of character type.
 
 Given
@@ -3549,7 +3549,7 @@ matches "a(char)", "b(wchar_t)", but not "c(double)".
 
-Matcher<QualType>isAnyPointer +Matcher<QualType>isAnyPointer
Matches QualType nodes that are of any pointer type; this includes
 the Objective-C object pointer type, which is different despite being
 syntactically similar.
@@ -3567,7 +3567,7 @@ varDecl(hasType(isAnyPointer()))
 
-Matcher<QualType>isConstQualified +Matcher<QualType>isConstQualified
Matches QualType nodes that are const-qualified, i.e., that
 include "top-level" const.
 
@@ -3584,7 +3584,7 @@ functionDecl(hasAnyParameter(hasType(isConstQualified())))
 
-Matcher<QualType>isInteger +Matcher<QualType>isInteger
Matches QualType nodes that are of integer type.
 
 Given
@@ -3596,7 +3596,7 @@ matches "a(int)", "b(long)", but not "c(double)".
 
-Matcher<QualType>isSignedInteger +Matcher<QualType>isSignedInteger
Matches QualType nodes that are of signed integer type.
 
 Given
@@ -3608,7 +3608,7 @@ matches "a(int)", but not "b(unsigned long)" and "c(double)".
 
-Matcher<QualType>isUnsignedInteger +Matcher<QualType>isUnsignedInteger
Matches QualType nodes that are of unsigned integer type.
 
 Given
@@ -3620,7 +3620,7 @@ matches "b(unsigned long)", but not "a(int)" and "c(double)".
 
-Matcher<QualType>isVolatileQualified +Matcher<QualType>isVolatileQualified
Matches QualType nodes that are volatile-qualified, i.e., that
 include "top-level" volatile.
 
@@ -3637,7 +3637,7 @@ functionDecl(hasAnyParameter(hasType(isVolatileQualified())))
 
-Matcher<RecordDecl>isClass +Matcher<RecordDecl>isClass
Matches RecordDecl object that are spelled with "class."
 
 Example matches C, but not S or U.
@@ -3647,7 +3647,7 @@ Example matches C, but not S or U.
 
-Matcher<RecordDecl>isStruct +Matcher<RecordDecl>isStruct
Matches RecordDecl object that are spelled with "struct."
 
 Example matches S, but not C or U.
@@ -3657,7 +3657,7 @@ Example matches S, but not C or U.
 
-Matcher<RecordDecl>isUnion +Matcher<RecordDecl>isUnion
Matches RecordDecl object that are spelled with "union."
 
 Example matches U, but not C or S.
@@ -3667,7 +3667,7 @@ Example matches U, but not C or S.
 
-Matcher<Stmt>equalsBoundNodestd::string ID +Matcher<Stmt>equalsBoundNodestd::string ID
Matches if a node equals a previously bound node.
 
 Matches a node if it equals the node previously bound to ID.
@@ -3690,14 +3690,14 @@ and reference to that variable declaration within a compound statement.
 
-Matcher<Stmt>equalsNodeconst Stmt* Other +Matcher<Stmt>equalsNodeconst Stmt* Other
Matches if a node equals another node.
 
 Stmt has pointer identity in the AST.
 
-Matcher<Stmt>isExpansionInFileMatchingstd::string RegExp +Matcher<Stmt>isExpansionInFileMatchingstd::string RegExp
Matches AST nodes that were expanded within files whose name is
 partially matching a given regex.
 
@@ -3708,11 +3708,11 @@ Example matches Y but not X
 ASTMatcher.h:
   class Y {};
 
-Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
+Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
 
-Matcher<Stmt>isExpansionInMainFile +Matcher<Stmt>isExpansionInMainFile
Matches AST nodes that were expanded within the main-file.
 
 Example matches X but not Y
@@ -3722,11 +3722,11 @@ Example matches X but not Y
 Y.h:
   class Y {};
 
-Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
+Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
 
-Matcher<Stmt>isExpansionInSystemHeader +Matcher<Stmt>isExpansionInSystemHeader
Matches AST nodes that were expanded within system-header-files.
 
 Example matches Y but not X
@@ -3736,11 +3736,11 @@ Example matches Y but not X
 SystemHeader.h:
   class Y {};
 
-Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
+Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
 
-Matcher<StringLiteral>hasSizeunsigned N +Matcher<StringLiteral>hasSizeunsigned N
Matches nodes that have the specified size.
 
 Given
@@ -3757,7 +3757,7 @@ stringLiteral(hasSize(4))
 
-Matcher<TagDecl>isDefinition +Matcher<TagDecl>isDefinition
Matches if a declaration has a body attached.
 
 Example matches A, va, fa
@@ -3774,12 +3774,12 @@ Example matches A, va, fa
   - (void)ma {}
   @end
 
-Usable as: Matcher<TagDecl>, Matcher<VarDecl>, Matcher<FunctionDecl>,
-  Matcher<ObjCMethodDecl>
+Usable as: Matcher<TagDecl>, Matcher<VarDecl>, Matcher<FunctionDecl>,
+  Matcher<ObjCMethodDecl>
 
-Matcher<TemplateArgument>equalsIntegralValuestd::string Value +Matcher<TemplateArgument>equalsIntegralValuestd::string Value
Matches a TemplateArgument of integral type with a given value.
 
 Note that 'Value' is a string as the template argument's value is
@@ -3795,7 +3795,7 @@ classTemplateSpecializationDecl(
 
-Matcher<TemplateArgument>isIntegral +Matcher<TemplateArgument>isIntegral
Matches a TemplateArgument that is an integral value.
 
 Given
@@ -3808,7 +3808,7 @@ classTemplateSpecializationDecl(
 
-Matcher<TemplateSpecializationType>templateArgumentCountIsunsigned N +Matcher<TemplateSpecializationType>templateArgumentCountIsunsigned N
Matches if the number of template arguments equals N.
 
 Given
@@ -3819,7 +3819,7 @@ classTemplateSpecializationDecl(templateArgumentCountIs(1))
 
-Matcher<TypeLoc>isExpansionInFileMatchingstd::string RegExp +Matcher<TypeLoc>isExpansionInFileMatchingstd::string RegExp
Matches AST nodes that were expanded within files whose name is
 partially matching a given regex.
 
@@ -3830,11 +3830,11 @@ Example matches Y but not X
 ASTMatcher.h:
   class Y {};
 
-Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
+Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
 
-Matcher<TypeLoc>isExpansionInMainFile +Matcher<TypeLoc>isExpansionInMainFile
Matches AST nodes that were expanded within the main-file.
 
 Example matches X but not Y
@@ -3844,11 +3844,11 @@ Example matches X but not Y
 Y.h:
   class Y {};
 
-Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
+Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
 
-Matcher<TypeLoc>isExpansionInSystemHeader +Matcher<TypeLoc>isExpansionInSystemHeader
Matches AST nodes that were expanded within system-header-files.
 
 Example matches Y but not X
@@ -3858,11 +3858,11 @@ Example matches Y but not X
 SystemHeader.h:
   class Y {};
 
-Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
+Usable as: Matcher<Decl>, Matcher<Stmt>, Matcher<TypeLoc>
 
-Matcher<Type>booleanType +Matcher<Type>booleanType
Matches type bool.
 
 Given
@@ -3872,7 +3872,7 @@ functionDecl(returns(booleanType()))
 
-Matcher<Type>equalsBoundNodestd::string ID +Matcher<Type>equalsBoundNodestd::string ID
Matches if a node equals a previously bound node.
 
 Matches a node if it equals the node previously bound to ID.
@@ -3895,14 +3895,14 @@ and reference to that variable declaration within a compound statement.
 
-Matcher<Type>equalsNodeconst Type* Other +Matcher<Type>equalsNodeconst Type* Other
Matches if a node equals another node.
 
 Type has pointer identity in the AST.
 
-Matcher<Type>realFloatingPointType +Matcher<Type>realFloatingPointType
Matches any real floating-point type (float, double, long double).
 
 Given
@@ -3913,7 +3913,7 @@ realFloatingPointType()
 
-Matcher<Type>voidType +Matcher<Type>voidType
Matches type void.
 
 Given
@@ -3923,7 +3923,7 @@ functionDecl(returns(voidType()))
 
-Matcher<UnaryExprOrTypeTraitExpr>ofKindUnaryExprOrTypeTrait Kind +Matcher<UnaryExprOrTypeTraitExpr>ofKindUnaryExprOrTypeTrait Kind
Matches unary expressions of a certain kind.
 
 Given
@@ -3934,7 +3934,7 @@ unaryExprOrTypeTraitExpr(ofKind(UETT_SizeOf))
 
-Matcher<UnaryOperator>hasOperatorNamestd::string Name +Matcher<UnaryOperator>hasOperatorNamestd::string Name
Matches the operator Name of operator expressions (binary or
 unary).
 
@@ -3943,7 +3943,7 @@ Example matches a || b (matcher = binaryOperator(hasOperatorName("||")))
 
-Matcher<UnresolvedMemberExpr>isArrow +Matcher<UnresolvedMemberExpr>isArrow
Matches member expressions that are called with '->' as opposed
 to '.'.
 
@@ -3969,7 +3969,7 @@ unresolvedMemberExpr(isArrow())
 
-Matcher<VarDecl>hasAutomaticStorageDuration +Matcher<VarDecl>hasAutomaticStorageDuration
Matches a variable declaration that has automatic storage duration.
 
 Example matches x, but not y, z, or a.
@@ -3983,7 +3983,7 @@ int a;
 
-Matcher<VarDecl>hasGlobalStorage +Matcher<VarDecl>hasGlobalStorage
Matches a variable declaration that does not have local storage.
 
 Example matches y and z (matcher = varDecl(hasGlobalStorage())
@@ -3995,7 +3995,7 @@ int z;
 
-Matcher<VarDecl>hasLocalStorage +Matcher<VarDecl>hasLocalStorage
Matches a variable declaration that has function scope and is a
 non-static local variable.
 
@@ -4008,7 +4008,7 @@ int z;
 
-Matcher<VarDecl>hasStaticStorageDuration +Matcher<VarDecl>hasStaticStorageDuration
Matches a variable declaration that has static storage duration.
 It includes the variable declared at namespace scope and those declared
 with "static" and "extern" storage class specifiers.
@@ -4026,7 +4026,7 @@ varDecl(hasStaticStorageDuration())
 
-Matcher<VarDecl>hasThreadStorageDuration +Matcher<VarDecl>hasThreadStorageDuration
Matches a variable declaration that has thread storage duration.
 
 Example matches z, but not x, z, or a.
@@ -4040,7 +4040,7 @@ int a;
 
-Matcher<VarDecl>isConstexpr +Matcher<VarDecl>isConstexpr
Matches constexpr variable and function declarations,
        and if constexpr.
 
@@ -4057,7 +4057,7 @@ ifStmt(isConstexpr())
 
-Matcher<VarDecl>isDefinition +Matcher<VarDecl>isDefinition
Matches if a declaration has a body attached.
 
 Example matches A, va, fa
@@ -4074,12 +4074,12 @@ Example matches A, va, fa
   - (void)ma {}
   @end
 
-Usable as: Matcher<TagDecl>, Matcher<VarDecl>, Matcher<FunctionDecl>,
-  Matcher<ObjCMethodDecl>
+Usable as: Matcher<TagDecl>, Matcher<VarDecl>, Matcher<FunctionDecl>,
+  Matcher<ObjCMethodDecl>
 
-Matcher<VarDecl>isExceptionVariable +Matcher<VarDecl>isExceptionVariable
Matches a variable declaration that is an exception variable from
 a C++ catch block, or an Objective-C statement.
 
@@ -4092,7 +4092,7 @@ void f(int y) {
 
-Matcher<VarDecl>isExplicitTemplateSpecialization +Matcher<VarDecl>isExplicitTemplateSpecialization
Matches explicit template specializations of function, class, or
 static member variable template instantiations.
 
@@ -4102,11 +4102,11 @@ Given
 functionDecl(isExplicitTemplateSpecialization())
   matches the specialization A<int>().
 
-Usable as: Matcher<FunctionDecl>, Matcher<VarDecl>, Matcher<CXXRecordDecl>
+Usable as: Matcher<FunctionDecl>, Matcher<VarDecl>, Matcher<CXXRecordDecl>
 
-Matcher<VarDecl>isExternC +Matcher<VarDecl>isExternC
Matches extern "C" function or variable declarations.
 
 Given:
@@ -4123,7 +4123,7 @@ varDecl(isExternC())
 
-Matcher<VarDecl>isStaticLocal +Matcher<VarDecl>isStaticLocal
Matches a static variable with local scope.
 
 Example matches y (matcher = varDecl(isStaticLocal()))
@@ -4135,7 +4135,7 @@ static int z;
 
-Matcher<VarDecl>isStaticStorageClass +Matcher<VarDecl>isStaticStorageClass
Matches variablefunction declarations that have "static" storage
 class specifier ("static" keyword) written in the source.
 
@@ -4151,7 +4151,7 @@ varDecl(isStaticStorageClass())
 
-Matcher<VarDecl>isTemplateInstantiation +Matcher<VarDecl>isTemplateInstantiation
Matches template instantiations of function, class, or static
 member variable template instantiations.
 
@@ -4170,11 +4170,11 @@ But given
 cxxRecordDecl(hasName("::X"), isTemplateInstantiation())
   does not match, as X<A> is an explicit template specialization.
 
-Usable as: Matcher<FunctionDecl>, Matcher<VarDecl>, Matcher<CXXRecordDecl>
+Usable as: Matcher<FunctionDecl>, Matcher<VarDecl>, Matcher<CXXRecordDecl>
 
-Matcher<internal::Matcher<Decl>>isInstantiated +Matcher<internal::Matcher<Decl>>isInstantiated
Matches declarations that are template instantiations or are inside
 template instantiations.
 
@@ -4187,7 +4187,7 @@ functionDecl(isInstantiated())
 
-Matcher<internal::Matcher<Expr>>nullPointerConstant +Matcher<internal::Matcher<Expr>>nullPointerConstant
Matches expressions that resolve to a null pointer constant, such as
 GNU's __null, C++11's nullptr, or C's NULL macro.
 
@@ -4204,7 +4204,7 @@ expr(nullPointerConstant())
 
-Matcher<internal::Matcher<NamedDecl>>hasAnyNameStringRef, ..., StringRef +Matcher<internal::Matcher<NamedDecl>>hasAnyNameStringRef, ..., StringRef
Matches NamedDecl nodes that have any of the specified names.
 
 This matcher is only provided as a performance optimization of hasName.
@@ -4214,7 +4214,7 @@ This matcher is only provided as a performance optimization of hasName.
 
-Matcher<internal::Matcher<ObjCMessageExpr>>hasAnySelectorStringRef, ..., StringRef +Matcher<internal::Matcher<ObjCMessageExpr>>hasAnySelectorStringRef, ..., StringRef
Matches when at least one of the supplied string equals to the
 Selector.getAsString()
 
@@ -4225,7 +4225,7 @@ Selector.getAsString()
 
-Matcher<internal::Matcher<Stmt>>isInTemplateInstantiation +Matcher<internal::Matcher<Stmt>>isInTemplateInstantiation
Matches statements inside of a template instantiation.
 
 Given
@@ -4385,7 +4385,7 @@ Usable as: Any Matcher
 
-Matcher<AbstractConditionalOperator>hasConditionMatcher<Expr> InnerMatcher +Matcher<AbstractConditionalOperator>hasConditionMatcher<Expr> InnerMatcher
Matches the condition expression of an if statement, for loop,
 switch statement or conditional operator.
 
@@ -4394,7 +4394,7 @@ Example matches true (matcher = hasCondition(cxxBoolLiteral(equals(true))))
 
-Matcher<AbstractConditionalOperator>hasFalseExpressionMatcher<Expr> InnerMatcher +Matcher<AbstractConditionalOperator>hasFalseExpressionMatcher<Expr> InnerMatcher
Matches the false branch expression of a conditional operator
 (binary or ternary).
 
@@ -4404,7 +4404,7 @@ Example matches b
 
-Matcher<AbstractConditionalOperator>hasTrueExpressionMatcher<Expr> InnerMatcher +Matcher<AbstractConditionalOperator>hasTrueExpressionMatcher<Expr> InnerMatcher
Matches the true branch expression of a conditional operator.
 
 Example 1 (conditional ternary operator): matches a
@@ -4415,7 +4415,7 @@ Example 2 (conditional binary operator): matches opaqueValueExpr(condition)
 
-Matcher<AddrLabelExpr>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<AddrLabelExpr>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -4439,17 +4439,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<ArraySubscriptExpr>hasBaseMatcher<Expr> InnerMatcher +Matcher<ArraySubscriptExpr>hasBaseMatcher<Expr> InnerMatcher
Matches the base expression of an array subscript expression.
 
 Given
@@ -4461,7 +4461,7 @@ arraySubscriptExpression(hasBase(implicitCastExpr(
 
-Matcher<ArraySubscriptExpr>hasIndexMatcher<Expr> InnerMatcher +Matcher<ArraySubscriptExpr>hasIndexMatcher<Expr> InnerMatcher
Matches the index expression of an array subscript expression.
 
 Given
@@ -4472,7 +4472,7 @@ arraySubscriptExpression(hasIndex(integerLiteral()))
 
-Matcher<ArraySubscriptExpr>hasLHSMatcher<Expr> InnerMatcher +Matcher<ArraySubscriptExpr>hasLHSMatcher<Expr> InnerMatcher
Matches the left hand side of binary operator expressions.
 
 Example matches a (matcher = binaryOperator(hasLHS()))
@@ -4480,7 +4480,7 @@ Example matches a (matcher = binaryOperator(hasLHS()))
 
-Matcher<ArraySubscriptExpr>hasRHSMatcher<Expr> InnerMatcher +Matcher<ArraySubscriptExpr>hasRHSMatcher<Expr> InnerMatcher
Matches the right hand side of binary operator expressions.
 
 Example matches b (matcher = binaryOperator(hasRHS()))
@@ -4488,7 +4488,7 @@ Example matches b (matcher = binaryOperator(hasRHS()))
 
-Matcher<ArrayType>hasElementTypeMatcher<Type> +Matcher<ArrayType>hasElementTypeMatcher<Type>
Matches arrays and C99 complex types that have a specific element
 type.
 
@@ -4499,11 +4499,11 @@ Given
 arrayType(hasElementType(builtinType()))
   matches "int b[7]"
 
-Usable as: Matcher<ArrayType>, Matcher<ComplexType>
+Usable as: Matcher<ArrayType>, Matcher<ComplexType>
 
-Matcher<AtomicType>hasValueTypeMatcher<Type> +Matcher<AtomicType>hasValueTypeMatcher<Type>
Matches atomic types with a specific value type.
 
 Given
@@ -4512,11 +4512,11 @@ Given
 atomicType(hasValueType(isInteger()))
  matches "_Atomic(int) i"
 
-Usable as: Matcher<AtomicType>
+Usable as: Matcher<AtomicType>
 
-Matcher<AutoType>hasDeducedTypeMatcher<Type> +Matcher<AutoType>hasDeducedTypeMatcher<Type>
Matches AutoType nodes where the deduced type is a specific type.
 
 Note: There is no TypeLoc for the deduced type and thus no
@@ -4528,17 +4528,17 @@ Given
 autoType(hasDeducedType(isInteger()))
   matches "auto a"
 
-Usable as: Matcher<AutoType>
+Usable as: Matcher<AutoType>
 
-Matcher<BinaryOperator>hasEitherOperandconst Matcher<Expr> InnerMatcher +Matcher<BinaryOperator>hasEitherOperandconst Matcher<Expr> InnerMatcher
Matches if either the left hand side or the right hand side of a
 binary operator matches.
 
-Matcher<BinaryOperator>hasLHSMatcher<Expr> InnerMatcher +Matcher<BinaryOperator>hasLHSMatcher<Expr> InnerMatcher
Matches the left hand side of binary operator expressions.
 
 Example matches a (matcher = binaryOperator(hasLHS()))
@@ -4546,7 +4546,7 @@ Example matches a (matcher = binaryOperator(hasLHS()))
 
-Matcher<BinaryOperator>hasRHSMatcher<Expr> InnerMatcher +Matcher<BinaryOperator>hasRHSMatcher<Expr> InnerMatcher
Matches the right hand side of binary operator expressions.
 
 Example matches b (matcher = binaryOperator(hasRHS()))
@@ -4554,7 +4554,7 @@ Example matches b (matcher = binaryOperator(hasRHS()))
 
-Matcher<BlockDecl>hasAnyParameterMatcher<ParmVarDecl> InnerMatcher +Matcher<BlockDecl>hasAnyParameterMatcher<ParmVarDecl> InnerMatcher
Matches any parameter of a function or an ObjC method declaration or a
 block.
 
@@ -4583,7 +4583,7 @@ matching y.
 
-Matcher<BlockDecl>hasParameterunsigned N, Matcher<ParmVarDecl> InnerMatcher +Matcher<BlockDecl>hasParameterunsigned N, Matcher<ParmVarDecl> InnerMatcher
Matches the n'th parameter of a function or an ObjC method
 declaration or a block.
 
@@ -4603,7 +4603,7 @@ matching y.
 
-Matcher<BlockPointerType>pointeeMatcher<Type> +Matcher<BlockPointerType>pointeeMatcher<Type>
Narrows PointerType (and similar) matchers to those where the
 pointee matches a given matcher.
 
@@ -4614,12 +4614,12 @@ Given
 pointerType(pointee(isConstQualified(), isInteger()))
   matches "int const *b"
 
-Usable as: Matcher<BlockPointerType>, Matcher<MemberPointerType>,
-  Matcher<PointerType>, Matcher<ReferenceType>
+Usable as: Matcher<BlockPointerType>, Matcher<MemberPointerType>,
+  Matcher<PointerType>, Matcher<ReferenceType>
 
-Matcher<CXXConstructExpr>forEachArgumentWithParamMatcher<Expr> ArgMatcher, Matcher<ParmVarDecl> ParamMatcher +Matcher<CXXConstructExpr>forEachArgumentWithParamMatcher<Expr> ArgMatcher, Matcher<ParmVarDecl> ParamMatcher
Matches all arguments and their respective ParmVarDecl.
 
 Given
@@ -4639,7 +4639,7 @@ and parmVarDecl(...)
 
-Matcher<CXXConstructExpr>hasAnyArgumentMatcher<Expr> InnerMatcher +Matcher<CXXConstructExpr>hasAnyArgumentMatcher<Expr> InnerMatcher
Matches any argument of a call expression or a constructor call
 expression, or an ObjC-message-send expression.
 
@@ -4658,7 +4658,7 @@ objcMessageExpr(hasAnyArgument(integerLiteral(equals(12))))
 
-Matcher<CXXConstructExpr>hasArgumentunsigned N, Matcher<Expr> InnerMatcher +Matcher<CXXConstructExpr>hasArgumentunsigned N, Matcher<Expr> InnerMatcher
Matches the n'th argument of a call expression or a constructor
 call expression.
 
@@ -4668,7 +4668,7 @@ Example matches y in x(y)
 
-Matcher<CXXConstructExpr>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<CXXConstructExpr>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -4692,17 +4692,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<CXXConstructorDecl>forEachConstructorInitializerMatcher<CXXCtorInitializer> InnerMatcher +Matcher<CXXConstructorDecl>forEachConstructorInitializerMatcher<CXXCtorInitializer> InnerMatcher
Matches each constructor initializer in a constructor definition.
 
 Given
@@ -4714,7 +4714,7 @@ cxxConstructorDecl(forEachConstructorInitializer(
 
-Matcher<CXXConstructorDecl>hasAnyConstructorInitializerMatcher<CXXCtorInitializer> InnerMatcher +Matcher<CXXConstructorDecl>hasAnyConstructorInitializerMatcher<CXXCtorInitializer> InnerMatcher
Matches a constructor initializer.
 
 Given
@@ -4729,7 +4729,7 @@ cxxRecordDecl(has(cxxConstructorDecl(
 
-Matcher<CXXCtorInitializer>forFieldMatcher<FieldDecl> InnerMatcher +Matcher<CXXCtorInitializer>forFieldMatcher<FieldDecl> InnerMatcher
Matches the field declaration of a constructor initializer.
 
 Given
@@ -4744,7 +4744,7 @@ with forField matching foo_
 
-Matcher<CXXCtorInitializer>withInitializerMatcher<Expr> InnerMatcher +Matcher<CXXCtorInitializer>withInitializerMatcher<Expr> InnerMatcher
Matches the initializer expression of a constructor initializer.
 
 Given
@@ -4759,7 +4759,7 @@ with withInitializer matching (1)
 
-Matcher<CXXDependentScopeMemberExpr>hasObjectExpressionMatcher<Expr> InnerMatcher +Matcher<CXXDependentScopeMemberExpr>hasObjectExpressionMatcher<Expr> InnerMatcher
Matches a member expression where the object expression is
 matched by a given matcher.
 
@@ -4773,7 +4773,7 @@ with hasObjectExpression(...)
 
-Matcher<CXXForRangeStmt>hasBodyMatcher<Stmt> InnerMatcher +Matcher<CXXForRangeStmt>hasBodyMatcher<Stmt> InnerMatcher
Matches a 'for', 'while', 'do while' statement or a function
 definition that has a given body.
 
@@ -4786,7 +4786,7 @@ with compoundStmt()
 
-Matcher<CXXForRangeStmt>hasLoopVariableMatcher<VarDecl> InnerMatcher +Matcher<CXXForRangeStmt>hasLoopVariableMatcher<VarDecl> InnerMatcher
Matches the initialization statement of a for loop.
 
 Example:
@@ -4796,7 +4796,7 @@ matches 'int x' in
 
-Matcher<CXXForRangeStmt>hasRangeInitMatcher<Expr> InnerMatcher +Matcher<CXXForRangeStmt>hasRangeInitMatcher<Expr> InnerMatcher
Matches the range initialization statement of a for loop.
 
 Example:
@@ -4806,11 +4806,11 @@ matches 'a' in
 
-Matcher<CXXMemberCallExpr>onImplicitObjectArgumentMatcher<Expr> InnerMatcher +Matcher<CXXMemberCallExpr>onImplicitObjectArgumentMatcher<Expr> InnerMatcher

 
 
-Matcher<CXXMemberCallExpr>onMatcher<Expr> InnerMatcher
+Matcher<CXXMemberCallExpr>onMatcher<Expr> InnerMatcher
 
Matches on the implicit object argument of a member call expression.
 
 Example matches y.x()
@@ -4822,18 +4822,18 @@ FIXME: Overload to allow directly matching types?
 
-Matcher<CXXMemberCallExpr>thisPointerTypeMatcher<Decl> InnerMatcher +Matcher<CXXMemberCallExpr>thisPointerTypeMatcher<Decl> InnerMatcher
Overloaded to match the type's declaration.
 
-Matcher<CXXMemberCallExpr>thisPointerTypeMatcher<QualType> InnerMatcher +Matcher<CXXMemberCallExpr>thisPointerTypeMatcher<QualType> InnerMatcher
Matches if the expression's type either matches the specified
 matcher, or is a pointer to a type that matches the InnerMatcher.
 
-Matcher<CXXMethodDecl>forEachOverriddenMatcher<CXXMethodDecl> InnerMatcher +Matcher<CXXMethodDecl>forEachOverriddenMatcher<CXXMethodDecl> InnerMatcher
Matches each method overridden by the given method. This matcher may
 produce multiple matches.
 
@@ -4857,7 +4857,7 @@ cxxMethodDecl(ofClass(hasName("C")),
 
-Matcher<CXXMethodDecl>ofClassMatcher<CXXRecordDecl> InnerMatcher +Matcher<CXXMethodDecl>ofClassMatcher<CXXRecordDecl> InnerMatcher
Matches the class declaration that the given method declaration
 belongs to.
 
@@ -4876,7 +4876,7 @@ Example matches A() in the last line
 
-Matcher<CXXNewExpr>hasArraySizeMatcher<Expr> InnerMatcher +Matcher<CXXNewExpr>hasArraySizeMatcher<Expr> InnerMatcher
Matches array new expressions with a given array size.
 
 Given:
@@ -4886,7 +4886,7 @@ cxxNewExpr(hasArraySize(intgerLiteral(equals(10))))
 
-Matcher<CXXNewExpr>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<CXXNewExpr>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -4910,17 +4910,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<CXXRecordDecl>hasMethodMatcher<CXXMethodDecl> InnerMatcher +Matcher<CXXRecordDecl>hasMethodMatcher<CXXMethodDecl> InnerMatcher
Matches the first method of a class or struct that satisfies InnerMatcher.
 
 Given:
@@ -4932,7 +4932,7 @@ A but not B.
 
-Matcher<CXXRecordDecl>isDerivedFromMatcher<NamedDecl> Base +Matcher<CXXRecordDecl>isDerivedFromMatcher<NamedDecl> Base
Matches C++ classes that are directly or indirectly derived from
 a class matching Base.
 
@@ -4953,13 +4953,13 @@ In the following example, Bar matches isDerivedFrom(hasName("X")):
 
-Matcher<CXXRecordDecl>isSameOrDerivedFromMatcher<NamedDecl> Base +Matcher<CXXRecordDecl>isSameOrDerivedFromMatcher<NamedDecl> Base
Similar to isDerivedFrom(), but also matches classes that directly
 match Base.
 
-Matcher<CXXUnresolvedConstructExpr>hasAnyArgumentMatcher<Expr> InnerMatcher +Matcher<CXXUnresolvedConstructExpr>hasAnyArgumentMatcher<Expr> InnerMatcher
Matches any argument of a call expression or a constructor call
 expression, or an ObjC-message-send expression.
 
@@ -4978,7 +4978,7 @@ objcMessageExpr(hasAnyArgument(integerLiteral(equals(12))))
 
-Matcher<CallExpr>calleeMatcher<Decl> InnerMatcher +Matcher<CallExpr>calleeMatcher<Decl> InnerMatcher
Matches if the call expression's callee's declaration matches the
 given matcher.
 
@@ -4989,7 +4989,7 @@ Example matches y.x() (matcher = callExpr(callee(
 
-Matcher<CallExpr>calleeMatcher<Stmt> InnerMatcher +Matcher<CallExpr>calleeMatcher<Stmt> InnerMatcher
Matches if the call expression's callee expression matches.
 
 Given
@@ -5000,14 +5000,14 @@ callExpr(callee(expr()))
 with callee(...)
   matching this->x, x, y.x, f respectively
 
-Note: Callee cannot take the more general internal::Matcher<Expr>
+Note: Callee cannot take the more general internal::Matcher<Expr>
 because this introduces ambiguous overloads with calls to Callee taking a
-internal::Matcher<Decl>, as the matcher hierarchy is purely
+internal::Matcher<Decl>, as the matcher hierarchy is purely
 implemented in terms of implicit casts.
 
-Matcher<CallExpr>forEachArgumentWithParamMatcher<Expr> ArgMatcher, Matcher<ParmVarDecl> ParamMatcher +Matcher<CallExpr>forEachArgumentWithParamMatcher<Expr> ArgMatcher, Matcher<ParmVarDecl> ParamMatcher
Matches all arguments and their respective ParmVarDecl.
 
 Given
@@ -5027,7 +5027,7 @@ and parmVarDecl(...)
 
-Matcher<CallExpr>hasAnyArgumentMatcher<Expr> InnerMatcher +Matcher<CallExpr>hasAnyArgumentMatcher<Expr> InnerMatcher
Matches any argument of a call expression or a constructor call
 expression, or an ObjC-message-send expression.
 
@@ -5046,7 +5046,7 @@ objcMessageExpr(hasAnyArgument(integerLiteral(equals(12))))
 
-Matcher<CallExpr>hasArgumentunsigned N, Matcher<Expr> InnerMatcher +Matcher<CallExpr>hasArgumentunsigned N, Matcher<Expr> InnerMatcher
Matches the n'th argument of a call expression or a constructor
 call expression.
 
@@ -5056,7 +5056,7 @@ Example matches y in x(y)
 
-Matcher<CallExpr>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<CallExpr>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -5080,17 +5080,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<CaseStmt>hasCaseConstantMatcher<Expr> InnerMatcher +Matcher<CaseStmt>hasCaseConstantMatcher<Expr> InnerMatcher
If the given case statement does not use the GNU case range
 extension, matches the constant given in the statement.
 
@@ -5101,7 +5101,7 @@ caseStmt(hasCaseConstant(integerLiteral()))
 
-Matcher<CastExpr>hasSourceExpressionMatcher<Expr> InnerMatcher +Matcher<CastExpr>hasSourceExpressionMatcher<Expr> InnerMatcher
Matches if the cast's source expression
 or opaque value's source expression matches the given matcher.
 
@@ -5116,7 +5116,7 @@ int a = b ?: 1;
 
-Matcher<ClassTemplateSpecializationDecl>hasAnyTemplateArgumentMatcher<TemplateArgument> InnerMatcher +Matcher<ClassTemplateSpecializationDecl>hasAnyTemplateArgumentMatcher<TemplateArgument> InnerMatcher
Matches classTemplateSpecializations, templateSpecializationType and
 functionDecl that have at least one TemplateArgument matching the given
 InnerMatcher.
@@ -5138,7 +5138,7 @@ functionDecl(hasAnyTemplateArgument(refersToType(asString("int"))))
 
-Matcher<ClassTemplateSpecializationDecl>hasSpecializedTemplateMatcher<ClassTemplateDecl> InnerMatcher +Matcher<ClassTemplateSpecializationDecl>hasSpecializedTemplateMatcher<ClassTemplateDecl> InnerMatcher
Matches the specialized template of a specialization declaration.
 
 Given
@@ -5150,7 +5150,7 @@ classTemplateSpecializationDecl(hasSpecializedTemplate(classTemplateDecl()))
 
-Matcher<ClassTemplateSpecializationDecl>hasTemplateArgumentunsigned N, Matcher<TemplateArgument> InnerMatcher +Matcher<ClassTemplateSpecializationDecl>hasTemplateArgumentunsigned N, Matcher<TemplateArgument> InnerMatcher
Matches classTemplateSpecializations, templateSpecializationType and
 functionDecl where the n'th TemplateArgument matches the given InnerMatcher.
 
@@ -5170,7 +5170,7 @@ functionDecl(hasTemplateArgument(0, refersToType(asString("int"))))
 
-Matcher<ComplexType>hasElementTypeMatcher<Type> +Matcher<ComplexType>hasElementTypeMatcher<Type>
Matches arrays and C99 complex types that have a specific element
 type.
 
@@ -5181,11 +5181,11 @@ Given
 arrayType(hasElementType(builtinType()))
   matches "int b[7]"
 
-Usable as: Matcher<ArrayType>, Matcher<ComplexType>
+Usable as: Matcher<ArrayType>, Matcher<ComplexType>
 
-Matcher<CompoundStmt>hasAnySubstatementMatcher<Stmt> InnerMatcher +Matcher<CompoundStmt>hasAnySubstatementMatcher<Stmt> InnerMatcher
Matches compound statements where at least one substatement matches
 a given matcher. Also matches StmtExprs that have CompoundStmt as children.
 
@@ -5198,12 +5198,12 @@ with compoundStmt()
 
-Matcher<DecayedType>hasDecayedTypeMatcher<QualType> InnerType +Matcher<DecayedType>hasDecayedTypeMatcher<QualType> InnerType
Matches the decayed type, whos decayed type matches InnerMatcher
 
-Matcher<DeclRefExpr>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<DeclRefExpr>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -5227,17 +5227,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<DeclRefExpr>throughUsingDeclMatcher<UsingShadowDecl> InnerMatcher +Matcher<DeclRefExpr>throughUsingDeclMatcher<UsingShadowDecl> InnerMatcher
Matches a DeclRefExpr that refers to a declaration through a
 specific using shadow declaration.
 
@@ -5253,7 +5253,7 @@ declRefExpr(throughUsingDecl(anything()))
 
-Matcher<DeclRefExpr>toMatcher<Decl> InnerMatcher +Matcher<DeclRefExpr>toMatcher<Decl> InnerMatcher
Matches a DeclRefExpr that refers to a declaration that matches the
 specified matcher.
 
@@ -5264,7 +5264,7 @@ Example matches x in if(x)
 
-Matcher<DeclStmt>containsDeclarationunsigned N, Matcher<Decl> InnerMatcher +Matcher<DeclStmt>containsDeclarationunsigned N, Matcher<Decl> InnerMatcher
Matches the n'th declaration of a declaration statement.
 
 Note that this does not work for global declarations because the AST
@@ -5283,7 +5283,7 @@ declStmt(containsDeclaration(1, varDecl()))
 
-Matcher<DeclStmt>hasSingleDeclMatcher<Decl> InnerMatcher +Matcher<DeclStmt>hasSingleDeclMatcher<Decl> InnerMatcher
Matches the Decl of a DeclStmt which has a single declaration.
 
 Given
@@ -5294,7 +5294,7 @@ declStmt(hasSingleDecl(anything()))
 
-Matcher<DeclaratorDecl>hasTypeLocMatcher<TypeLoc> Inner +Matcher<DeclaratorDecl>hasTypeLocMatcher<TypeLoc> Inner
Matches if the type location of the declarator decl's type matches
 the inner matcher.
 
@@ -5305,7 +5305,7 @@ declaratorDecl(hasTypeLoc(loc(asString("int"))))
 
-Matcher<Decl>hasDeclContextMatcher<Decl> InnerMatcher +Matcher<Decl>hasDeclContextMatcher<Decl> InnerMatcher
Matches declarations whose declaration context, interpreted as a
 Decl, matches InnerMatcher.
 
@@ -5321,7 +5321,7 @@ declaration of class D.
 
-Matcher<DecltypeType>hasUnderlyingTypeMatcher<Type> +Matcher<DecltypeType>hasUnderlyingTypeMatcher<Type>
Matches DecltypeType nodes to find out the underlying type.
 
 Given
@@ -5330,11 +5330,11 @@ Given
 decltypeType(hasUnderlyingType(isInteger()))
   matches the type of "a"
 
-Usable as: Matcher<DecltypeType>
+Usable as: Matcher<DecltypeType>
 
-Matcher<DoStmt>hasBodyMatcher<Stmt> InnerMatcher +Matcher<DoStmt>hasBodyMatcher<Stmt> InnerMatcher
Matches a 'for', 'while', 'do while' statement or a function
 definition that has a given body.
 
@@ -5347,7 +5347,7 @@ with compoundStmt()
 
-Matcher<DoStmt>hasConditionMatcher<Expr> InnerMatcher +Matcher<DoStmt>hasConditionMatcher<Expr> InnerMatcher
Matches the condition expression of an if statement, for loop,
 switch statement or conditional operator.
 
@@ -5356,7 +5356,7 @@ Example matches true (matcher = hasCondition(cxxBoolLiteral(equals(true))))
 
-Matcher<ElaboratedType>hasQualifierMatcher<NestedNameSpecifier> InnerMatcher +Matcher<ElaboratedType>hasQualifierMatcher<NestedNameSpecifier> InnerMatcher
Matches ElaboratedTypes whose qualifier, a NestedNameSpecifier,
 matches InnerMatcher if the qualifier exists.
 
@@ -5373,7 +5373,7 @@ matches the type of the variable declaration of d.
 
-Matcher<ElaboratedType>namesTypeMatcher<QualType> InnerMatcher +Matcher<ElaboratedType>namesTypeMatcher<QualType> InnerMatcher
Matches ElaboratedTypes whose named type matches InnerMatcher.
 
 Given
@@ -5390,7 +5390,7 @@ declaration of d.
 
-Matcher<EnumType>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<EnumType>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -5414,17 +5414,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<ExplicitCastExpr>hasDestinationTypeMatcher<QualType> InnerMatcher +Matcher<ExplicitCastExpr>hasDestinationTypeMatcher<QualType> InnerMatcher
Matches casts whose destination type matches a given matcher.
 
 (Note: Clang's AST refers to other conversions as "casts" too, and calls
@@ -5432,7 +5432,7 @@ actual casts "explicit" casts.)
 
-Matcher<Expr>hasTypeMatcher<Decl> InnerMatcher +Matcher<Expr>hasTypeMatcher<Decl> InnerMatcher
Overloaded to match the declaration of the expression's or value
 declaration's type.
 
@@ -5449,11 +5449,11 @@ Example matches x (matcher = expr(hasType(cxxRecordDecl(hasName("X")))))
  void y(X &x) { x; X z; }
  class Y { friend class X; };
 
-Usable as: Matcher<Expr>, Matcher<ValueDecl>
+Usable as: Matcher<Expr>, Matcher<ValueDecl>
 
-Matcher<Expr>hasTypeMatcher<QualType> InnerMatcher +Matcher<Expr>hasTypeMatcher<QualType> InnerMatcher
Matches if the expression's or declaration's type matches a type
 matcher.
 
@@ -5468,7 +5468,7 @@ Example matches x (matcher = expr(hasType(cxxRecordDecl(hasName("X")))))
 
-Matcher<Expr>ignoringImpCastsMatcher<Expr> InnerMatcher +Matcher<Expr>ignoringImpCastsMatcher<Expr> InnerMatcher
Matches expressions that match InnerMatcher after any implicit casts
 are stripped off.
 
@@ -5491,7 +5491,7 @@ only match the declarations for b, c, and d.
 
-Matcher<Expr>ignoringImplicitMatcher<Expr> InnerMatcher +Matcher<Expr>ignoringImplicitMatcher<Expr> InnerMatcher
Matches expressions that match InnerMatcher after any implicit AST
 nodes are stripped off.
 
@@ -5510,7 +5510,7 @@ only match the declarations for b and c.
 
-Matcher<Expr>ignoringParenCastsMatcher<Expr> InnerMatcher +Matcher<Expr>ignoringParenCastsMatcher<Expr> InnerMatcher
Matches expressions that match InnerMatcher after parentheses and
 casts are stripped off.
 
@@ -5529,7 +5529,7 @@ only match the declaration for a.
 
-Matcher<Expr>ignoringParenImpCastsMatcher<Expr> InnerMatcher +Matcher<Expr>ignoringParenImpCastsMatcher<Expr> InnerMatcher
Matches expressions that match InnerMatcher after implicit casts and
 parentheses are stripped off.
 
@@ -5552,7 +5552,7 @@ would only match the declaration for a.
 
-Matcher<FieldDecl>hasInClassInitializerMatcher<Expr> InnerMatcher +Matcher<FieldDecl>hasInClassInitializerMatcher<Expr> InnerMatcher
Matches non-static data members that have an in-class initializer.
 
 Given
@@ -5568,7 +5568,7 @@ fieldDecl(hasInClassInitializer(anything()))
 
-Matcher<ForStmt>hasBodyMatcher<Stmt> InnerMatcher +Matcher<ForStmt>hasBodyMatcher<Stmt> InnerMatcher
Matches a 'for', 'while', 'do while' statement or a function
 definition that has a given body.
 
@@ -5581,7 +5581,7 @@ with compoundStmt()
 
-Matcher<ForStmt>hasConditionMatcher<Expr> InnerMatcher +Matcher<ForStmt>hasConditionMatcher<Expr> InnerMatcher
Matches the condition expression of an if statement, for loop,
 switch statement or conditional operator.
 
@@ -5590,7 +5590,7 @@ Example matches true (matcher = hasCondition(cxxBoolLiteral(equals(true))))
 
-Matcher<ForStmt>hasIncrementMatcher<Stmt> InnerMatcher +Matcher<ForStmt>hasIncrementMatcher<Stmt> InnerMatcher
Matches the increment statement of a for loop.
 
 Example:
@@ -5600,7 +5600,7 @@ matches '++x' in
 
-Matcher<ForStmt>hasLoopInitMatcher<Stmt> InnerMatcher +Matcher<ForStmt>hasLoopInitMatcher<Stmt> InnerMatcher
Matches the initialization statement of a for loop.
 
 Example:
@@ -5610,7 +5610,7 @@ matches 'int x = 0' in
 
-Matcher<FriendDecl>hasTypeMatcher<Decl> InnerMatcher +Matcher<FriendDecl>hasTypeMatcher<Decl> InnerMatcher
Overloaded to match the declaration of the expression's or value
 declaration's type.
 
@@ -5627,11 +5627,11 @@ Example matches x (matcher = expr(hasType(cxxRecordDecl(hasName("X")))))
  void y(X &x) { x; X z; }
  class Y { friend class X; };
 
-Usable as: Matcher<Expr>, Matcher<ValueDecl>
+Usable as: Matcher<Expr>, Matcher<ValueDecl>
 
-Matcher<FriendDecl>hasTypeMatcher<QualType> InnerMatcher +Matcher<FriendDecl>hasTypeMatcher<QualType> InnerMatcher
Matches if the expression's or declaration's type matches a type
 matcher.
 
@@ -5646,7 +5646,7 @@ Example matches x (matcher = expr(hasType(cxxRecordDecl(hasName("X")))))
 
-Matcher<FunctionDecl>hasAnyParameterMatcher<ParmVarDecl> InnerMatcher +Matcher<FunctionDecl>hasAnyParameterMatcher<ParmVarDecl> InnerMatcher
Matches any parameter of a function or an ObjC method declaration or a
 block.
 
@@ -5675,7 +5675,7 @@ matching y.
 
-Matcher<FunctionDecl>hasAnyTemplateArgumentMatcher<TemplateArgument> InnerMatcher +Matcher<FunctionDecl>hasAnyTemplateArgumentMatcher<TemplateArgument> InnerMatcher
Matches classTemplateSpecializations, templateSpecializationType and
 functionDecl that have at least one TemplateArgument matching the given
 InnerMatcher.
@@ -5697,7 +5697,7 @@ functionDecl(hasAnyTemplateArgument(refersToType(asString("int"))))
 
-Matcher<FunctionDecl>hasBodyMatcher<Stmt> InnerMatcher +Matcher<FunctionDecl>hasBodyMatcher<Stmt> InnerMatcher
Matches a 'for', 'while', 'do while' statement or a function
 definition that has a given body.
 
@@ -5710,7 +5710,7 @@ with compoundStmt()
 
-Matcher<FunctionDecl>hasParameterunsigned N, Matcher<ParmVarDecl> InnerMatcher +Matcher<FunctionDecl>hasParameterunsigned N, Matcher<ParmVarDecl> InnerMatcher
Matches the n'th parameter of a function or an ObjC method
 declaration or a block.
 
@@ -5730,7 +5730,7 @@ matching y.
 
-Matcher<FunctionDecl>hasTemplateArgumentunsigned N, Matcher<TemplateArgument> InnerMatcher +Matcher<FunctionDecl>hasTemplateArgumentunsigned N, Matcher<TemplateArgument> InnerMatcher
Matches classTemplateSpecializations, templateSpecializationType and
 functionDecl where the n'th TemplateArgument matches the given InnerMatcher.
 
@@ -5750,7 +5750,7 @@ functionDecl(hasTemplateArgument(0, refersToType(asString("int"))))
 
-Matcher<FunctionDecl>returnsMatcher<QualType> InnerMatcher +Matcher<FunctionDecl>returnsMatcher<QualType> InnerMatcher
Matches the return type of a function declaration.
 
 Given:
@@ -5760,7 +5760,7 @@ cxxMethodDecl(returns(asString("int")))
 
-Matcher<IfStmt>hasConditionMatcher<Expr> InnerMatcher +Matcher<IfStmt>hasConditionMatcher<Expr> InnerMatcher
Matches the condition expression of an if statement, for loop,
 switch statement or conditional operator.
 
@@ -5769,7 +5769,7 @@ Example matches true (matcher = hasCondition(cxxBoolLiteral(equals(true))))
 
-Matcher<IfStmt>hasConditionVariableStatementMatcher<DeclStmt> InnerMatcher +Matcher<IfStmt>hasConditionVariableStatementMatcher<DeclStmt> InnerMatcher
Matches the condition variable statement in an if statement.
 
 Given
@@ -5779,7 +5779,7 @@ hasConditionVariableStatement(...)
 
-Matcher<IfStmt>hasElseMatcher<Stmt> InnerMatcher +Matcher<IfStmt>hasElseMatcher<Stmt> InnerMatcher
Matches the else-statement of an if statement.
 
 Examples matches the if statement
@@ -5788,7 +5788,7 @@ Examples matches the if statement
 
-Matcher<IfStmt>hasThenMatcher<Stmt> InnerMatcher +Matcher<IfStmt>hasThenMatcher<Stmt> InnerMatcher
Matches the then-statement of an if statement.
 
 Examples matches the if statement
@@ -5797,7 +5797,7 @@ Examples matches the if statement
 
-Matcher<ImplicitCastExpr>hasImplicitDestinationTypeMatcher<QualType> InnerMatcher +Matcher<ImplicitCastExpr>hasImplicitDestinationTypeMatcher<QualType> InnerMatcher
Matches implicit casts whose destination type matches a given
 matcher.
 
@@ -5805,13 +5805,13 @@ FIXME: Unit test this matcher
 
-Matcher<InitListExpr>hasSyntacticFormMatcher<Expr> InnerMatcher +Matcher<InitListExpr>hasSyntacticFormMatcher<Expr> InnerMatcher
Matches the syntactic form of init list expressions
 (if expression have it).
 
-Matcher<InjectedClassNameType>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<InjectedClassNameType>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -5835,17 +5835,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<LabelStmt>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<LabelStmt>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -5869,17 +5869,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<MemberExpr>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<MemberExpr>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -5903,17 +5903,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<MemberExpr>hasObjectExpressionMatcher<Expr> InnerMatcher +Matcher<MemberExpr>hasObjectExpressionMatcher<Expr> InnerMatcher
Matches a member expression where the object expression is
 matched by a given matcher.
 
@@ -5927,7 +5927,7 @@ with hasObjectExpression(...)
 
-Matcher<MemberExpr>memberMatcher<ValueDecl> InnerMatcher +Matcher<MemberExpr>memberMatcher<ValueDecl> InnerMatcher
Matches a member expression where the member is matched by a
 given matcher.
 
@@ -5941,7 +5941,7 @@ memberExpr(member(hasName("first")))
 
-Matcher<MemberPointerType>pointeeMatcher<Type> +Matcher<MemberPointerType>pointeeMatcher<Type>
Narrows PointerType (and similar) matchers to those where the
 pointee matches a given matcher.
 
@@ -5952,12 +5952,12 @@ Given
 pointerType(pointee(isConstQualified(), isInteger()))
   matches "int const *b"
 
-Usable as: Matcher<BlockPointerType>, Matcher<MemberPointerType>,
-  Matcher<PointerType>, Matcher<ReferenceType>
+Usable as: Matcher<BlockPointerType>, Matcher<MemberPointerType>,
+  Matcher<PointerType>, Matcher<ReferenceType>
 
-Matcher<NamedDecl>hasUnderlyingDeclMatcher<NamedDecl> InnerMatcher +Matcher<NamedDecl>hasUnderlyingDeclMatcher<NamedDecl> InnerMatcher
Matches a NamedDecl whose underlying declaration matches the given
 matcher.
 
@@ -5970,7 +5970,7 @@ unresolvedLookupExpr(hasAnyDeclaration(
 
-Matcher<NestedNameSpecifierLoc>hasPrefixMatcher<NestedNameSpecifierLoc> InnerMatcher +Matcher<NestedNameSpecifierLoc>hasPrefixMatcher<NestedNameSpecifierLoc> InnerMatcher
Matches on the prefix of a NestedNameSpecifierLoc.
 
 Given
@@ -5981,7 +5981,7 @@ nestedNameSpecifierLoc(hasPrefix(loc(specifiesType(asString("struct A")))))
 
-Matcher<NestedNameSpecifierLoc>specifiesTypeLocMatcher<TypeLoc> InnerMatcher +Matcher<NestedNameSpecifierLoc>specifiesTypeLocMatcher<TypeLoc> InnerMatcher
Matches nested name specifier locs that specify a type matching the
 given TypeLoc.
 
@@ -5994,7 +5994,7 @@ nestedNameSpecifierLoc(specifiesTypeLoc(loc(type(
 
-Matcher<NestedNameSpecifier>hasPrefixMatcher<NestedNameSpecifier> InnerMatcher +Matcher<NestedNameSpecifier>hasPrefixMatcher<NestedNameSpecifier> InnerMatcher
Matches on the prefix of a NestedNameSpecifier.
 
 Given
@@ -6005,7 +6005,7 @@ nestedNameSpecifier(hasPrefix(specifiesType(asString("struct A")))) and
 
-Matcher<NestedNameSpecifier>specifiesNamespaceMatcher<NamespaceDecl> InnerMatcher +Matcher<NestedNameSpecifier>specifiesNamespaceMatcher<NamespaceDecl> InnerMatcher
Matches nested name specifiers that specify a namespace matching the
 given namespace matcher.
 
@@ -6017,7 +6017,7 @@ nestedNameSpecifier(specifiesNamespace(hasName("ns")))
 
-Matcher<NestedNameSpecifier>specifiesTypeMatcher<QualType> InnerMatcher +Matcher<NestedNameSpecifier>specifiesTypeMatcher<QualType> InnerMatcher
Matches nested name specifiers that specify a type matching the
 given QualType matcher without qualifiers.
 
@@ -6031,7 +6031,7 @@ nestedNameSpecifier(specifiesType(
 
-Matcher<ObjCMessageExpr>hasAnyArgumentMatcher<Expr> InnerMatcher +Matcher<ObjCMessageExpr>hasAnyArgumentMatcher<Expr> InnerMatcher
Matches any argument of a call expression or a constructor call
 expression, or an ObjC-message-send expression.
 
@@ -6050,7 +6050,7 @@ objcMessageExpr(hasAnyArgument(integerLiteral(equals(12))))
 
-Matcher<ObjCMessageExpr>hasArgumentunsigned N, Matcher<Expr> InnerMatcher +Matcher<ObjCMessageExpr>hasArgumentunsigned N, Matcher<Expr> InnerMatcher
Matches the n'th argument of a call expression or a constructor
 call expression.
 
@@ -6060,7 +6060,7 @@ Example matches y in x(y)
 
-Matcher<ObjCMessageExpr>hasReceiverMatcher<Expr> InnerMatcher +Matcher<ObjCMessageExpr>hasReceiverMatcher<Expr> InnerMatcher
Matches if the Objective-C message is sent to an instance,
 and the inner matcher matches on that instance.
 
@@ -6072,7 +6072,7 @@ objcMessageExpr(hasReceiver(declRefExpr(to(varDecl(hasName("x"))))))
 
-Matcher<ObjCMessageExpr>hasReceiverTypeMatcher<QualType> InnerMatcher +Matcher<ObjCMessageExpr>hasReceiverTypeMatcher<QualType> InnerMatcher
Matches on the receiver of an ObjectiveC Message expression.
 
 Example
@@ -6084,7 +6084,7 @@ matches the [webView ...] message invocation.
 
-Matcher<ObjCMethodDecl>hasAnyParameterMatcher<ParmVarDecl> InnerMatcher +Matcher<ObjCMethodDecl>hasAnyParameterMatcher<ParmVarDecl> InnerMatcher
Matches any parameter of a function or an ObjC method declaration or a
 block.
 
@@ -6113,7 +6113,7 @@ matching y.
 
-Matcher<ObjCMethodDecl>hasParameterunsigned N, Matcher<ParmVarDecl> InnerMatcher +Matcher<ObjCMethodDecl>hasParameterunsigned N, Matcher<ParmVarDecl> InnerMatcher
Matches the n'th parameter of a function or an ObjC method
 declaration or a block.
 
@@ -6133,7 +6133,7 @@ matching y.
 
-Matcher<OpaqueValueExpr>hasSourceExpressionMatcher<Expr> InnerMatcher +Matcher<OpaqueValueExpr>hasSourceExpressionMatcher<Expr> InnerMatcher
Matches if the cast's source expression
 or opaque value's source expression matches the given matcher.
 
@@ -6148,7 +6148,7 @@ int a = b ?: 1;
 
-Matcher<OverloadExpr>hasAnyDeclarationMatcher<Decl> InnerMatcher +Matcher<OverloadExpr>hasAnyDeclarationMatcher<Decl> InnerMatcher
Matches an OverloadExpr if any of the declarations in the set of
 overloads matches the given matcher.
 
@@ -6165,7 +6165,7 @@ unresolvedLookupExpr(hasAnyDeclaration(
 
-Matcher<ParenType>innerTypeMatcher<Type> +Matcher<ParenType>innerTypeMatcher<Type>
Matches ParenType nodes where the inner type is a specific type.
 
 Given
@@ -6175,11 +6175,11 @@ Given
 varDecl(hasType(pointsTo(parenType(innerType(functionType()))))) matches
 ptr_to_func but not ptr_to_array.
 
-Usable as: Matcher<ParenType>
+Usable as: Matcher<ParenType>
 
-Matcher<PointerType>pointeeMatcher<Type> +Matcher<PointerType>pointeeMatcher<Type>
Narrows PointerType (and similar) matchers to those where the
 pointee matches a given matcher.
 
@@ -6190,12 +6190,12 @@ Given
 pointerType(pointee(isConstQualified(), isInteger()))
   matches "int const *b"
 
-Usable as: Matcher<BlockPointerType>, Matcher<MemberPointerType>,
-  Matcher<PointerType>, Matcher<ReferenceType>
+Usable as: Matcher<BlockPointerType>, Matcher<MemberPointerType>,
+  Matcher<PointerType>, Matcher<ReferenceType>
 
-Matcher<QualType>hasCanonicalTypeMatcher<QualType> InnerMatcher +Matcher<QualType>hasCanonicalTypeMatcher<QualType> InnerMatcher
Matches QualTypes whose canonical type matches InnerMatcher.
 
 Given:
@@ -6208,7 +6208,7 @@ declaration of b but varDecl(hasType(qualType(hasCanonicalType(referenceType()))
 
-Matcher<QualType>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<QualType>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -6232,17 +6232,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<QualType>ignoringParensMatcher<QualType> InnerMatcher +Matcher<QualType>ignoringParensMatcher<QualType> InnerMatcher
Matches types that match InnerMatcher after any parens are stripped.
 
 Given
@@ -6253,12 +6253,12 @@ would match the declaration for fp.
 
-Matcher<QualType>pointsToMatcher<Decl> InnerMatcher +Matcher<QualType>pointsToMatcher<Decl> InnerMatcher
Overloaded to match the pointee type's declaration.
 
-Matcher<QualType>pointsToMatcher<QualType> InnerMatcher +Matcher<QualType>pointsToMatcher<QualType> InnerMatcher
Matches if the matched type is a pointer type and the pointee type
 matches the specified matcher.
 
@@ -6270,12 +6270,12 @@ Example matches y->x()
 
-Matcher<QualType>referencesMatcher<Decl> InnerMatcher +Matcher<QualType>referencesMatcher<Decl> InnerMatcher
Overloaded to match the referenced type's declaration.
 
-Matcher<QualType>referencesMatcher<QualType> InnerMatcher +Matcher<QualType>referencesMatcher<QualType> InnerMatcher
Matches if the matched type is a reference type and the referenced
 type matches the specified matcher.
 
@@ -6290,7 +6290,7 @@ Example matches X &x and const X &y
 
-Matcher<RecordType>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<RecordType>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -6314,17 +6314,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<ReferenceType>pointeeMatcher<Type> +Matcher<ReferenceType>pointeeMatcher<Type>
Narrows PointerType (and similar) matchers to those where the
 pointee matches a given matcher.
 
@@ -6335,12 +6335,12 @@ Given
 pointerType(pointee(isConstQualified(), isInteger()))
   matches "int const *b"
 
-Usable as: Matcher<BlockPointerType>, Matcher<MemberPointerType>,
-  Matcher<PointerType>, Matcher<ReferenceType>
+Usable as: Matcher<BlockPointerType>, Matcher<MemberPointerType>,
+  Matcher<PointerType>, Matcher<ReferenceType>
 
-Matcher<ReturnStmt>hasReturnValueMatcher<Expr> InnerMatcher +Matcher<ReturnStmt>hasReturnValueMatcher<Expr> InnerMatcher
Matches the return value expression of a return statement
 
 Given
@@ -6352,7 +6352,7 @@ with binaryOperator()
 
-Matcher<StmtExpr>hasAnySubstatementMatcher<Stmt> InnerMatcher +Matcher<StmtExpr>hasAnySubstatementMatcher<Stmt> InnerMatcher
Matches compound statements where at least one substatement matches
 a given matcher. Also matches StmtExprs that have CompoundStmt as children.
 
@@ -6365,13 +6365,13 @@ with compoundStmt()
 
-Matcher<Stmt>alignOfExprconst Matcher<UnaryExprOrTypeTraitExpr> InnerMatcher +Matcher<Stmt>alignOfExprconst Matcher<UnaryExprOrTypeTraitExpr> InnerMatcher
Same as unaryExprOrTypeTraitExpr, but only matching
 alignof.
 
-Matcher<Stmt>forFunctionMatcher<FunctionDecl> InnerMatcher +Matcher<Stmt>forFunctionMatcher<FunctionDecl> InnerMatcher
Matches declaration of the function the statement belongs to
 
 Given:
@@ -6385,13 +6385,13 @@ returnStmt(forFunction(hasName("operator=")))
 
-Matcher<Stmt>sizeOfExprconst Matcher<UnaryExprOrTypeTraitExpr> InnerMatcher +Matcher<Stmt>sizeOfExprconst Matcher<UnaryExprOrTypeTraitExpr> InnerMatcher
Same as unaryExprOrTypeTraitExpr, but only matching
 sizeof.
 
-Matcher<SubstTemplateTypeParmType>hasReplacementTypeMatcher<Type> +Matcher<SubstTemplateTypeParmType>hasReplacementTypeMatcher<Type>
Matches template type parameter substitutions that have a replacement
 type that matches the provided matcher.
 
@@ -6405,7 +6405,7 @@ substTemplateTypeParmType(hasReplacementType(type())) matches int
 
-Matcher<SwitchStmt>forEachSwitchCaseMatcher<SwitchCase> InnerMatcher +Matcher<SwitchStmt>forEachSwitchCaseMatcher<SwitchCase> InnerMatcher
Matches each case or default statement belonging to the given switch
 statement. This matcher may produce multiple matches.
 
@@ -6418,7 +6418,7 @@ switchStmt(forEachSwitchCase(caseStmt().bind("c"))).bind("s")
 
-Matcher<SwitchStmt>hasConditionMatcher<Expr> InnerMatcher +Matcher<SwitchStmt>hasConditionMatcher<Expr> InnerMatcher
Matches the condition expression of an if statement, for loop,
 switch statement or conditional operator.
 
@@ -6427,7 +6427,7 @@ Example matches true (matcher = hasCondition(cxxBoolLiteral(equals(true))))
 
-Matcher<TagType>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<TagType>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -6451,17 +6451,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<TemplateArgument>isExprMatcher<Expr> InnerMatcher +Matcher<TemplateArgument>isExprMatcher<Expr> InnerMatcher
Matches a sugar TemplateArgument that refers to a certain expression.
 
 Given
@@ -6475,7 +6475,7 @@ templateSpecializationType(hasAnyTemplateArgument(
 
-Matcher<TemplateArgument>refersToDeclarationMatcher<Decl> InnerMatcher +Matcher<TemplateArgument>refersToDeclarationMatcher<Decl> InnerMatcher
Matches a canonical TemplateArgument that refers to a certain
 declaration.
 
@@ -6490,7 +6490,7 @@ classTemplateSpecializationDecl(hasAnyTemplateArgument(
 
-Matcher<TemplateArgument>refersToIntegralTypeMatcher<QualType> InnerMatcher +Matcher<TemplateArgument>refersToIntegralTypeMatcher<QualType> InnerMatcher
Matches a TemplateArgument that referes to an integral type.
 
 Given
@@ -6502,7 +6502,7 @@ classTemplateSpecializationDecl(
 
-Matcher<TemplateArgument>refersToTemplateMatcher<TemplateName> InnerMatcher +Matcher<TemplateArgument>refersToTemplateMatcher<TemplateName> InnerMatcher
Matches a TemplateArgument that refers to a certain template.
 
 Given
@@ -6515,7 +6515,7 @@ classTemplateSpecializationDecl(hasAnyTemplateArgument(
 
-Matcher<TemplateArgument>refersToTypeMatcher<QualType> InnerMatcher +Matcher<TemplateArgument>refersToTypeMatcher<QualType> InnerMatcher
Matches a TemplateArgument that refers to a certain type.
 
 Given
@@ -6528,7 +6528,7 @@ classTemplateSpecializationDecl(hasAnyTemplateArgument(
 
-Matcher<TemplateSpecializationType>hasAnyTemplateArgumentMatcher<TemplateArgument> InnerMatcher +Matcher<TemplateSpecializationType>hasAnyTemplateArgumentMatcher<TemplateArgument> InnerMatcher
Matches classTemplateSpecializations, templateSpecializationType and
 functionDecl that have at least one TemplateArgument matching the given
 InnerMatcher.
@@ -6550,7 +6550,7 @@ functionDecl(hasAnyTemplateArgument(refersToType(asString("int"))))
 
-Matcher<TemplateSpecializationType>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<TemplateSpecializationType>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -6574,17 +6574,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<TemplateSpecializationType>hasTemplateArgumentunsigned N, Matcher<TemplateArgument> InnerMatcher +Matcher<TemplateSpecializationType>hasTemplateArgumentunsigned N, Matcher<TemplateArgument> InnerMatcher
Matches classTemplateSpecializations, templateSpecializationType and
 functionDecl where the n'th TemplateArgument matches the given InnerMatcher.
 
@@ -6604,7 +6604,7 @@ functionDecl(hasTemplateArgument(0, refersToType(asString("int"))))
 
-Matcher<TemplateTypeParmType>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<TemplateTypeParmType>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -6628,13 +6628,13 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
@@ -6654,7 +6654,7 @@ Usable as: Any Matcher -Matcher<TypedefNameDecl>hasTypeMatcher<QualType> InnerMatcher +Matcher<TypedefNameDecl>hasTypeMatcher<QualType> InnerMatcher
Matches if the expression's or declaration's type matches a type
 matcher.
 
@@ -6669,7 +6669,7 @@ Example matches x (matcher = expr(hasType(cxxRecordDecl(hasName("X")))))
 
-Matcher<TypedefType>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<TypedefType>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -6693,17 +6693,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<Type>hasUnqualifiedDesugaredTypeMatcher<Type> InnerMatcher +Matcher<Type>hasUnqualifiedDesugaredTypeMatcher<Type> InnerMatcher
Matches if the matched type matches the unqualified desugared
 type of the matched node.
 
@@ -6715,7 +6715,7 @@ both B and A.
 
-Matcher<UnaryExprOrTypeTraitExpr>hasArgumentOfTypeMatcher<QualType> InnerMatcher +Matcher<UnaryExprOrTypeTraitExpr>hasArgumentOfTypeMatcher<QualType> InnerMatcher
Matches unary expressions that have a specific type of argument.
 
 Given
@@ -6725,7 +6725,7 @@ unaryExprOrTypeTraitExpr(hasArgumentOfType(asString("int"))
 
-Matcher<UnaryOperator>hasUnaryOperandMatcher<Expr> InnerMatcher +Matcher<UnaryOperator>hasUnaryOperandMatcher<Expr> InnerMatcher
Matches if the operand of a unary operator matches.
 
 Example matches true (matcher = hasUnaryOperand(
@@ -6734,7 +6734,7 @@ Example matches true (matcher = hasUnaryOperand(
 
-Matcher<UnresolvedMemberExpr>hasObjectExpressionMatcher<Expr> InnerMatcher +Matcher<UnresolvedMemberExpr>hasObjectExpressionMatcher<Expr> InnerMatcher
Matches a member expression where the object expression is
 matched by a given matcher.
 
@@ -6748,7 +6748,7 @@ with hasObjectExpression(...)
 
-Matcher<UnresolvedUsingType>hasDeclarationconst Matcher<Decl> InnerMatcher +Matcher<UnresolvedUsingType>hasDeclarationconst Matcher<Decl> InnerMatcher
Matches a node if the declaration associated with that node
 matches the given matcher.
 
@@ -6772,17 +6772,17 @@ This can be achieved by using the hasUnqualifiedDesugaredType matcher:
       recordType(hasDeclaration(decl())))))
 In this matcher, the decl will match the CXXRecordDecl of class X.
 
-Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
-  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
-  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
-  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
-  Matcher<TagType>, Matcher<TemplateSpecializationType>,
-  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
-  Matcher<UnresolvedUsingType>
+Usable as: Matcher<AddrLabelExpr>, Matcher<CallExpr>,
+  Matcher<CXXConstructExpr>, Matcher<CXXNewExpr>, Matcher<DeclRefExpr>,
+  Matcher<EnumType>, Matcher<InjectedClassNameType>, Matcher<LabelStmt>,
+  Matcher<MemberExpr>, Matcher<QualType>, Matcher<RecordType>,
+  Matcher<TagType>, Matcher<TemplateSpecializationType>,
+  Matcher<TemplateTypeParmType>, Matcher<TypedefType>,
+  Matcher<UnresolvedUsingType>
 
-Matcher<UsingDecl>hasAnyUsingShadowDeclMatcher<UsingShadowDecl> InnerMatcher +Matcher<UsingDecl>hasAnyUsingShadowDeclMatcher<UsingShadowDecl> InnerMatcher
Matches any using shadow declaration.
 
 Given
@@ -6792,7 +6792,7 @@ usingDecl(hasAnyUsingShadowDecl(hasName("b"))))
   matches using X::b 
-Matcher<UsingShadowDecl>hasTargetDeclMatcher<NamedDecl> InnerMatcher +Matcher<UsingShadowDecl>hasTargetDeclMatcher<NamedDecl> InnerMatcher
Matches a using shadow declaration where the target declaration is
 matched by the given matcher.
 
@@ -6804,7 +6804,7 @@ usingDecl(hasAnyUsingShadowDecl(hasTargetDecl(functionDecl())))
   matches using X::b but not using X::a 
-Matcher<ValueDecl>hasTypeMatcher<Decl> InnerMatcher +Matcher<ValueDecl>hasTypeMatcher<Decl> InnerMatcher
Overloaded to match the declaration of the expression's or value
 declaration's type.
 
@@ -6821,11 +6821,11 @@ Example matches x (matcher = expr(hasType(cxxRecordDecl(hasName("X")))))
  void y(X &x) { x; X z; }
  class Y { friend class X; };
 
-Usable as: Matcher<Expr>, Matcher<ValueDecl>
+Usable as: Matcher<Expr>, Matcher<ValueDecl>
 
-Matcher<ValueDecl>hasTypeMatcher<QualType> InnerMatcher +Matcher<ValueDecl>hasTypeMatcher<QualType> InnerMatcher
Matches if the expression's or declaration's type matches a type
 matcher.
 
@@ -6840,7 +6840,7 @@ Example matches x (matcher = expr(hasType(cxxRecordDecl(hasName("X")))))
 
-Matcher<VarDecl>hasInitializerMatcher<Expr> InnerMatcher +Matcher<VarDecl>hasInitializerMatcher<Expr> InnerMatcher
Matches a variable declaration that has an initializer expression
 that matches the given matcher.
 
@@ -6850,7 +6850,7 @@ Example matches x (matcher = varDecl(hasInitializer(callExpr())))
 
-Matcher<VariableArrayType>hasSizeExprMatcher<Expr> InnerMatcher +Matcher<VariableArrayType>hasSizeExprMatcher<Expr> InnerMatcher
Matches VariableArrayType nodes that have a specific size
 expression.
 
@@ -6864,7 +6864,7 @@ variableArrayType(hasSizeExpr(ignoringImpCasts(declRefExpr(to(
 
-Matcher<WhileStmt>hasBodyMatcher<Stmt> InnerMatcher +Matcher<WhileStmt>hasBodyMatcher<Stmt> InnerMatcher
Matches a 'for', 'while', 'do while' statement or a function
 definition that has a given body.
 
@@ -6877,7 +6877,7 @@ with compoundStmt()
 
-Matcher<WhileStmt>hasConditionMatcher<Expr> InnerMatcher +Matcher<WhileStmt>hasConditionMatcher<Expr> InnerMatcher
Matches the condition expression of an if statement, for loop,
 switch statement or conditional operator.
 
@@ -6886,13 +6886,13 @@ Example matches true (matcher = hasCondition(cxxBoolLiteral(equals(true))))
 
-Matcher<internal::BindableMatcher<NestedNameSpecifierLoc>>locMatcher<NestedNameSpecifier> InnerMatcher +Matcher<internal::BindableMatcher<NestedNameSpecifierLoc>>locMatcher<NestedNameSpecifier> InnerMatcher
Matches NestedNameSpecifierLocs for which the given inner
 NestedNameSpecifier-matcher matches.
 
-Matcher<internal::BindableMatcher<TypeLoc>>locMatcher<QualType> InnerMatcher +Matcher<internal::BindableMatcher<TypeLoc>>locMatcher<QualType> InnerMatcher
Matches TypeLocs for which the given inner
 QualType-matcher matches.
 
-- cgit v1.2.3