clang 19.0.0git
Classes | Namespaces | Typedefs | Functions | Variables
ASTMatchers.h File Reference
#include "clang/AST/ASTContext.h"
#include "clang/AST/ASTTypeTraits.h"
#include "clang/AST/Attr.h"
#include "clang/AST/CXXInheritance.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclFriend.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprObjC.h"
#include "clang/AST/LambdaCapture.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/OpenMPClause.h"
#include "clang/AST/OperationKinds.h"
#include "clang/AST/ParentMapContext.h"
#include "clang/AST/Stmt.h"
#include "clang/AST/StmtCXX.h"
#include "clang/AST/StmtObjC.h"
#include "clang/AST/StmtOpenMP.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/TemplateName.h"
#include "clang/AST/Type.h"
#include "clang/AST/TypeLoc.h"
#include "clang/ASTMatchers/ASTMatchersInternal.h"
#include "clang/ASTMatchers/ASTMatchersMacros.h"
#include "clang/Basic/AttrKinds.h"
#include "clang/Basic/ExceptionSpecificationType.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/Specifiers.h"
#include "clang/Basic/TypeTraits.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Regex.h"
#include <cassert>
#include <cstddef>
#include <iterator>
#include <limits>
#include <optional>
#include <string>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

class  clang::ast_matchers::BoundNodes
 Maps string IDs to AST nodes matched by parts of a matcher. More...
 

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  clang::ast_matchers
 

Typedefs

template<typename NodeType >
using clang::ast_matchers::AstTypeMatcher = internal::VariadicDynCastAllOfMatcher< Type, NodeType >
 
using clang::ast_matchers::DeclarationMatcher = internal::Matcher< Decl >
 Types of matchers for the top-level classes in the AST class hierarchy.
 
using clang::ast_matchers::StatementMatcher = internal::Matcher< Stmt >
 
using clang::ast_matchers::TypeMatcher = internal::Matcher< QualType >
 
using clang::ast_matchers::TypeLocMatcher = internal::Matcher< TypeLoc >
 
using clang::ast_matchers::NestedNameSpecifierMatcher = internal::Matcher< NestedNameSpecifier >
 
using clang::ast_matchers::NestedNameSpecifierLocMatcher = internal::Matcher< NestedNameSpecifierLoc >
 
using clang::ast_matchers::CXXBaseSpecifierMatcher = internal::Matcher< CXXBaseSpecifier >
 
using clang::ast_matchers::CXXCtorInitializerMatcher = internal::Matcher< CXXCtorInitializer >
 
using clang::ast_matchers::TemplateArgumentMatcher = internal::Matcher< TemplateArgument >
 
using clang::ast_matchers::TemplateArgumentLocMatcher = internal::Matcher< TemplateArgumentLoc >
 
using clang::ast_matchers::LambdaCaptureMatcher = internal::Matcher< LambdaCapture >
 
using clang::ast_matchers::AttrMatcher = internal::Matcher< Attr >
 

Functions

internal::TrueMatcher clang::ast_matchers::anything ()
 Matches any node.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isExpansionInMainFile, AST_POLYMORPHIC_SUPPORTED_TYPES(Decl, Stmt, TypeLoc))
 Matches AST nodes that were expanded within the main-file.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isExpansionInSystemHeader, AST_POLYMORPHIC_SUPPORTED_TYPES(Decl, Stmt, TypeLoc))
 Matches AST nodes that were expanded within system-header-files.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_REGEX (isExpansionInFileMatching, AST_POLYMORPHIC_SUPPORTED_TYPES(Decl, Stmt, TypeLoc), RegExp)
 Matches AST nodes that were expanded within files whose name is partially matching a given regex.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (isExpandedFromMacro, AST_POLYMORPHIC_SUPPORTED_TYPES(Decl, Stmt, TypeLoc), std::string, MacroName)
 Matches statements that are (transitively) expanded from the named macro.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isPublic, AST_POLYMORPHIC_SUPPORTED_TYPES(Decl, CXXBaseSpecifier))
 Matches public C++ declarations and C++ base specifers that specify public inheritance.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isProtected, AST_POLYMORPHIC_SUPPORTED_TYPES(Decl, CXXBaseSpecifier))
 Matches protected C++ declarations and C++ base specifers that specify protected inheritance.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isPrivate, AST_POLYMORPHIC_SUPPORTED_TYPES(Decl, CXXBaseSpecifier))
 Matches private C++ declarations and C++ base specifers that specify private inheritance.
 
 clang::ast_matchers::AST_MATCHER (FieldDecl, isBitField)
 Matches non-static data members that are bit-fields.
 
 clang::ast_matchers::AST_MATCHER_P (FieldDecl, hasBitWidth, unsigned, Width)
 Matches non-static data members that are bit-fields of the specified bit width.
 
 clang::ast_matchers::AST_MATCHER_P (FieldDecl, hasInClassInitializer, internal::Matcher< Expr >, InnerMatcher)
 Matches non-static data members that have an in-class initializer.
 
 clang::ast_matchers::AST_MATCHER (FunctionDecl, isMain)
 Determines whether the function is "main", which is the entry point into an executable program.
 
 clang::ast_matchers::AST_MATCHER_P (ClassTemplateSpecializationDecl, hasSpecializedTemplate, internal::Matcher< ClassTemplateDecl >, InnerMatcher)
 Matches the specialized template of a specialization declaration.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isImplicit, AST_POLYMORPHIC_SUPPORTED_TYPES(Decl, Attr, LambdaCapture))
 Matches an entity that has been implicitly added by the compiler (e.g.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasAnyTemplateArgument, AST_POLYMORPHIC_SUPPORTED_TYPES(ClassTemplateSpecializationDecl, TemplateSpecializationType, FunctionDecl), internal::Matcher< TemplateArgument >, InnerMatcher)
 Matches classTemplateSpecializations, templateSpecializationType and functionDecl that have at least one TemplateArgument matching the given InnerMatcher.
 
template<typename T >
internal::Matcher< T > clang::ast_matchers::traverse (TraversalKind TK, const internal::Matcher< T > &InnerMatcher)
 Causes all nested matchers to be matched with the specified traversal kind.
 
template<typename T >
internal::BindableMatcher< T > clang::ast_matchers::traverse (TraversalKind TK, const internal::BindableMatcher< T > &InnerMatcher)
 
template<typename... T>
internal::TraversalWrapper< internal::VariadicOperatorMatcher< T... > > clang::ast_matchers::traverse (TraversalKind TK, const internal::VariadicOperatorMatcher< T... > &InnerMatcher)
 
template<template< typename ToArg, typename FromArg > class ArgumentAdapterT, typename T , typename ToTypes >
internal::TraversalWrapper< internal::ArgumentAdaptingMatcherFuncAdaptor< ArgumentAdapterT, T, ToTypes > > clang::ast_matchers::traverse (TraversalKind TK, const internal::ArgumentAdaptingMatcherFuncAdaptor< ArgumentAdapterT, T, ToTypes > &InnerMatcher)
 
template<template< typename T, typename... P > class MatcherT, typename... P, typename ReturnTypesF >
internal::TraversalWrapper< internal::PolymorphicMatcher< MatcherT, ReturnTypesF, P... > > clang::ast_matchers::traverse (TraversalKind TK, const internal::PolymorphicMatcher< MatcherT, ReturnTypesF, P... > &InnerMatcher)
 
template<typename... T>
internal::Matcher< typename internal::GetClade< T... >::Typeclang::ast_matchers::traverse (TraversalKind TK, const internal::MapAnyOfHelper< T... > &InnerMatcher)
 
 clang::ast_matchers::AST_MATCHER_P (Expr, ignoringImplicit, internal::Matcher< Expr >, InnerMatcher)
 Matches expressions that match InnerMatcher after any implicit AST nodes are stripped off.
 
 clang::ast_matchers::AST_MATCHER_P (Expr, ignoringImpCasts, internal::Matcher< Expr >, InnerMatcher)
 Matches expressions that match InnerMatcher after any implicit casts are stripped off.
 
 clang::ast_matchers::AST_MATCHER_P (Expr, ignoringParenCasts, internal::Matcher< Expr >, InnerMatcher)
 Matches expressions that match InnerMatcher after parentheses and casts are stripped off.
 
 clang::ast_matchers::AST_MATCHER_P (Expr, ignoringParenImpCasts, internal::Matcher< Expr >, InnerMatcher)
 Matches expressions that match InnerMatcher after implicit casts and parentheses are stripped off.
 
 clang::ast_matchers::AST_MATCHER_P_OVERLOAD (QualType, ignoringParens, internal::Matcher< QualType >, InnerMatcher, 0)
 Matches types that match InnerMatcher after any parens are stripped.
 
 clang::ast_matchers::AST_MATCHER_P_OVERLOAD (Expr, ignoringParens, internal::Matcher< Expr >, InnerMatcher, 1)
 Overload ignoringParens for Expr.
 
 clang::ast_matchers::AST_MATCHER (Expr, isInstantiationDependent)
 Matches expressions that are instantiation-dependent even if it is neither type- nor value-dependent.
 
 clang::ast_matchers::AST_MATCHER (Expr, isTypeDependent)
 Matches expressions that are type-dependent because the template type is not yet instantiated.
 
 clang::ast_matchers::AST_MATCHER (Expr, isValueDependent)
 Matches expression that are value-dependent because they contain a non-type template parameter.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P2 (hasTemplateArgument, AST_POLYMORPHIC_SUPPORTED_TYPES(ClassTemplateSpecializationDecl, TemplateSpecializationType, FunctionDecl), unsigned, N, internal::Matcher< TemplateArgument >, InnerMatcher)
 Matches classTemplateSpecializations, templateSpecializationType and functionDecl where the n'th TemplateArgument matches the given InnerMatcher.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (templateArgumentCountIs, AST_POLYMORPHIC_SUPPORTED_TYPES(ClassTemplateSpecializationDecl, TemplateSpecializationType), unsigned, N)
 Matches if the number of template arguments equals N.
 
 clang::ast_matchers::AST_MATCHER_P (TemplateArgument, refersToType, internal::Matcher< QualType >, InnerMatcher)
 Matches a TemplateArgument that refers to a certain type.
 
 clang::ast_matchers::AST_MATCHER_P (TemplateArgument, refersToTemplate, internal::Matcher< TemplateName >, InnerMatcher)
 Matches a TemplateArgument that refers to a certain template.
 
 clang::ast_matchers::AST_MATCHER_P (TemplateArgument, refersToDeclaration, internal::Matcher< Decl >, InnerMatcher)
 Matches a canonical TemplateArgument that refers to a certain declaration.
 
 clang::ast_matchers::AST_MATCHER_P (TemplateArgument, isExpr, internal::Matcher< Expr >, InnerMatcher)
 Matches a sugar TemplateArgument that refers to a certain expression.
 
 clang::ast_matchers::AST_MATCHER (TemplateArgument, isIntegral)
 Matches a TemplateArgument that is an integral value.
 
 clang::ast_matchers::AST_MATCHER_P (TemplateArgument, refersToIntegralType, internal::Matcher< QualType >, InnerMatcher)
 Matches a TemplateArgument that refers to an integral type.
 
 clang::ast_matchers::AST_MATCHER_P (TemplateArgument, equalsIntegralValue, std::string, Value)
 Matches a TemplateArgument of integral type with a given value.
 
 clang::ast_matchers::AST_MATCHER (CallExpr, usesADL)
 Matches call expressions which were resolved using ADL.
 
 clang::ast_matchers::AST_MATCHER_P (InitListExpr, hasSyntacticForm, internal::Matcher< Expr >, InnerMatcher)
 Matches the syntactic form of init list expressions (if expression have it).
 
 clang::ast_matchers::AST_MATCHER_P (ForStmt, hasIncrement, internal::Matcher< Stmt >, InnerMatcher)
 Matches the increment statement of a for loop.
 
 clang::ast_matchers::AST_MATCHER_P (ForStmt, hasLoopInit, internal::Matcher< Stmt >, InnerMatcher)
 Matches the initialization statement of a for loop.
 
 clang::ast_matchers::AST_MATCHER_P (CXXForRangeStmt, hasLoopVariable, internal::Matcher< VarDecl >, InnerMatcher)
 Matches the initialization statement of a for loop.
 
 clang::ast_matchers::AST_MATCHER_P (CXXForRangeStmt, hasRangeInit, internal::Matcher< Expr >, InnerMatcher)
 Matches the range initialization statement of a for loop.
 
 clang::ast_matchers::AST_MATCHER_P (DesignatedInitExpr, designatorCountIs, unsigned, N)
 Matches designated initializer expressions that contain a specific number of designators.
 
template<typename T , typename... U>
auto clang::ast_matchers::mapAnyOf (internal::VariadicDynCastAllOfMatcher< T, U > const &...)
 Matches any of the NodeMatchers with InnerMatchers nested within.
 
 clang::ast_matchers::AST_MATCHER_P (UnaryExprOrTypeTraitExpr, hasArgumentOfType, internal::Matcher< QualType >, InnerMatcher)
 Matches unary expressions that have a specific type of argument.
 
 clang::ast_matchers::AST_MATCHER_P (UnaryExprOrTypeTraitExpr, ofKind, UnaryExprOrTypeTrait, Kind)
 Matches unary expressions of a certain kind.
 
internal::BindableMatcher< Stmt > clang::ast_matchers::alignOfExpr (const internal::Matcher< UnaryExprOrTypeTraitExpr > &InnerMatcher)
 Same as unaryExprOrTypeTraitExpr, but only matching alignof.
 
internal::BindableMatcher< Stmt > clang::ast_matchers::sizeOfExpr (const internal::Matcher< UnaryExprOrTypeTraitExpr > &InnerMatcher)
 Same as unaryExprOrTypeTraitExpr, but only matching sizeof.
 
internal::Matcher< NamedDecl > clang::ast_matchers::hasName (StringRef Name)
 Matches NamedDecl nodes that have the specified name.
 
 clang::ast_matchers::AST_MATCHER_REGEX (NamedDecl, matchesName, RegExp)
 Matches NamedDecl nodes whose fully qualified names contain a substring matched by the given RegExp.
 
internal::PolymorphicMatcher< internal::HasOverloadedOperatorNameMatcher, AST_POLYMORPHIC_SUPPORTED_TYPES(CXXOperatorCallExpr, FunctionDecl), std::vector< std::string > > clang::ast_matchers::hasOverloadedOperatorName (StringRef Name)
 Matches overloaded operator names.
 
 clang::ast_matchers::AST_MATCHER_P (CXXDependentScopeMemberExpr, hasMemberName, std::string, N)
 Matches template-dependent, but known, member names.
 
 clang::ast_matchers::AST_MATCHER_P (CXXDependentScopeMemberExpr, memberHasSameNameAsBoundNode, std::string, BindingID)
 Matches template-dependent, but known, member names against an already-bound node.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (isDerivedFrom, AST_POLYMORPHIC_SUPPORTED_TYPES(CXXRecordDecl, ObjCInterfaceDecl), internal::Matcher< NamedDecl >, Base)
 Matches C++ classes that are directly or indirectly derived from a class matching Base, or Objective-C classes that directly or indirectly subclass a class matching Base.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD (isDerivedFrom, AST_POLYMORPHIC_SUPPORTED_TYPES(CXXRecordDecl, ObjCInterfaceDecl), std::string, BaseName, 1)
 Overloaded method as shortcut for isDerivedFrom(hasName(...)).
 
 clang::ast_matchers::AST_MATCHER_P (CXXRecordDecl, hasAnyBase, internal::Matcher< CXXBaseSpecifier >, BaseSpecMatcher)
 Matches C++ classes that have a direct or indirect base matching BaseSpecMatcher.
 
 clang::ast_matchers::AST_MATCHER_P (CXXRecordDecl, hasDirectBase, internal::Matcher< CXXBaseSpecifier >, BaseSpecMatcher)
 Matches C++ classes that have a direct base matching BaseSpecMatcher.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD (isSameOrDerivedFrom, AST_POLYMORPHIC_SUPPORTED_TYPES(CXXRecordDecl, ObjCInterfaceDecl), internal::Matcher< NamedDecl >, Base, 0)
 Similar to isDerivedFrom(), but also matches classes that directly match Base.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD (isSameOrDerivedFrom, AST_POLYMORPHIC_SUPPORTED_TYPES(CXXRecordDecl, ObjCInterfaceDecl), std::string, BaseName, 1)
 Overloaded method as shortcut for isSameOrDerivedFrom(hasName(...)).
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD (isDirectlyDerivedFrom, AST_POLYMORPHIC_SUPPORTED_TYPES(CXXRecordDecl, ObjCInterfaceDecl), internal::Matcher< NamedDecl >, Base, 0)
 Matches C++ or Objective-C classes that are directly derived from a class matching Base.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD (isDirectlyDerivedFrom, AST_POLYMORPHIC_SUPPORTED_TYPES(CXXRecordDecl, ObjCInterfaceDecl), std::string, BaseName, 1)
 Overloaded method as shortcut for isDirectlyDerivedFrom(hasName(...)).
 
 clang::ast_matchers::AST_MATCHER_P (CXXRecordDecl, hasMethod, internal::Matcher< CXXMethodDecl >, InnerMatcher)
 Matches the first method of a class or struct that satisfies InnerMatcher.
 
 clang::ast_matchers::AST_MATCHER (CXXRecordDecl, isLambda)
 Matches the generated class of lambda expressions.
 
template<typename T >
internal::Matcher< T > clang::ast_matchers::findAll (const internal::Matcher< T > &Matcher)
 Matches if the node or any descendant matches.
 
internal::PolymorphicMatcher< internal::HasDeclarationMatcher, void(internal::HasDeclarationSupportedTypes), internal::Matcher< Decl > > clang::ast_matchers::hasDeclaration (const internal::Matcher< Decl > &InnerMatcher)
 Matches a node if the declaration associated with that node matches the given matcher.
 
 clang::ast_matchers::AST_MATCHER_P (NamedDecl, hasUnderlyingDecl, internal::Matcher< NamedDecl >, InnerMatcher)
 Matches a NamedDecl whose underlying declaration matches the given matcher.
 
 clang::ast_matchers::AST_MATCHER_P (CXXMemberCallExpr, on, internal::Matcher< Expr >, InnerMatcher)
 Matches on the implicit object argument of a member call expression, after stripping off any parentheses or implicit casts.
 
 clang::ast_matchers::AST_MATCHER_P (ObjCMessageExpr, hasReceiverType, internal::Matcher< QualType >, InnerMatcher)
 Matches on the receiver of an ObjectiveC Message expression.
 
 clang::ast_matchers::AST_MATCHER (ObjCMethodDecl, isClassMethod)
 Returns true when the Objective-C method declaration is a class method.
 
 clang::ast_matchers::AST_MATCHER (ObjCMethodDecl, isInstanceMethod)
 Returns true when the Objective-C method declaration is an instance method.
 
 clang::ast_matchers::AST_MATCHER (ObjCMessageExpr, isClassMessage)
 Returns true when the Objective-C message is sent to a class.
 
 clang::ast_matchers::AST_MATCHER (ObjCMessageExpr, isInstanceMessage)
 Returns true when the Objective-C message is sent to an instance.
 
 clang::ast_matchers::AST_MATCHER_P (ObjCMessageExpr, hasReceiver, internal::Matcher< Expr >, InnerMatcher)
 Matches if the Objective-C message is sent to an instance, and the inner matcher matches on that instance.
 
 clang::ast_matchers::AST_MATCHER_P (ObjCMessageExpr, hasSelector, std::string, BaseName)
 Matches when BaseName == Selector.getAsString()
 
 clang::ast_matchers::AST_MATCHER_REGEX (ObjCMessageExpr, matchesSelector, RegExp)
 Matches ObjC selectors whose name contains a substring matched by the given RegExp.
 
 clang::ast_matchers::AST_MATCHER (ObjCMessageExpr, hasNullSelector)
 Matches when the selector is the empty selector.
 
 clang::ast_matchers::AST_MATCHER (ObjCMessageExpr, hasUnarySelector)
 Matches when the selector is a Unary Selector.
 
 clang::ast_matchers::AST_MATCHER (ObjCMessageExpr, hasKeywordSelector)
 Matches when the selector is a keyword selector.
 
 clang::ast_matchers::AST_MATCHER_P (ObjCMessageExpr, numSelectorArgs, unsigned, N)
 Matches when the selector has the specified number of arguments.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD (callee, AST_POLYMORPHIC_SUPPORTED_TYPES(CallExpr, CXXFoldExpr), internal::Matcher< Stmt >, InnerMatcher, 0)
 Matches if the call or fold expression's callee expression matches.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD (callee, AST_POLYMORPHIC_SUPPORTED_TYPES(ObjCMessageExpr, CallExpr), internal::Matcher< Decl >, InnerMatcher, 1)
 Matches 1) if the call expression's callee's declaration matches the given matcher; or 2) if the Obj-C message expression's callee's method declaration matches the given matcher.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD (hasType, AST_POLYMORPHIC_SUPPORTED_TYPES(Expr, FriendDecl, TypedefNameDecl, ValueDecl, CXXBaseSpecifier), internal::Matcher< QualType >, InnerMatcher, 0)
 Matches if the expression's or declaration's type matches a type matcher.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD (hasType, AST_POLYMORPHIC_SUPPORTED_TYPES(Expr, FriendDecl, ValueDecl, CXXBaseSpecifier), internal::Matcher< Decl >, InnerMatcher, 1)
 Overloaded to match the declaration of the expression's or value declaration's type.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasTypeLoc, AST_POLYMORPHIC_SUPPORTED_TYPES(BlockDecl, CXXBaseSpecifier, CXXCtorInitializer, CXXFunctionalCastExpr, CXXNewExpr, CXXTemporaryObjectExpr, CXXUnresolvedConstructExpr, ClassTemplateSpecializationDecl, CompoundLiteralExpr, DeclaratorDecl, ExplicitCastExpr, ObjCPropertyDecl, TemplateArgumentLoc, TypedefNameDecl), internal::Matcher< TypeLoc >, Inner)
 Matches if the type location of a node matches the inner matcher.
 
 clang::ast_matchers::AST_MATCHER_P (QualType, asString, std::string, Name)
 Matches if the matched type is represented by the given string.
 
 clang::ast_matchers::AST_MATCHER_P (QualType, pointsTo, internal::Matcher< QualType >, InnerMatcher)
 Matches if the matched type is a pointer type and the pointee type matches the specified matcher.
 
 clang::ast_matchers::AST_MATCHER_P_OVERLOAD (QualType, pointsTo, internal::Matcher< Decl >, InnerMatcher, 1)
 Overloaded to match the pointee type's declaration.
 
 clang::ast_matchers::AST_MATCHER_P (Type, hasUnqualifiedDesugaredType, internal::Matcher< Type >, InnerMatcher)
 Matches if the matched type matches the unqualified desugared type of the matched node.
 
 clang::ast_matchers::AST_MATCHER_P (QualType, references, internal::Matcher< QualType >, InnerMatcher)
 Matches if the matched type is a reference type and the referenced type matches the specified matcher.
 
 clang::ast_matchers::AST_MATCHER_P (QualType, hasCanonicalType, internal::Matcher< QualType >, InnerMatcher)
 Matches QualTypes whose canonical type matches InnerMatcher.
 
 clang::ast_matchers::AST_MATCHER_P_OVERLOAD (QualType, references, internal::Matcher< Decl >, InnerMatcher, 1)
 Overloaded to match the referenced type's declaration.
 
 clang::ast_matchers::AST_MATCHER_P (CXXMemberCallExpr, onImplicitObjectArgument, internal::Matcher< Expr >, InnerMatcher)
 Matches on the implicit object argument of a member call expression.
 
 clang::ast_matchers::AST_MATCHER_P_OVERLOAD (CXXMemberCallExpr, thisPointerType, internal::Matcher< QualType >, InnerMatcher, 0)
 Matches if the type of the expression's implicit object argument either matches the InnerMatcher, or is a pointer to a type that matches the InnerMatcher.
 
 clang::ast_matchers::AST_MATCHER_P_OVERLOAD (CXXMemberCallExpr, thisPointerType, internal::Matcher< Decl >, InnerMatcher, 1)
 Overloaded to match the type's declaration.
 
 clang::ast_matchers::AST_MATCHER_P (DeclRefExpr, to, internal::Matcher< Decl >, InnerMatcher)
 Matches a DeclRefExpr that refers to a declaration that matches the specified matcher.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (throughUsingDecl, AST_POLYMORPHIC_SUPPORTED_TYPES(DeclRefExpr, UsingType), internal::Matcher< UsingShadowDecl >, Inner)
 Matches if a node refers to a declaration through a specific using shadow declaration.
 
 clang::ast_matchers::AST_MATCHER_P (OverloadExpr, hasAnyDeclaration, internal::Matcher< Decl >, InnerMatcher)
 Matches an OverloadExpr if any of the declarations in the set of overloads matches the given matcher.
 
 clang::ast_matchers::AST_MATCHER_P (DeclStmt, hasSingleDecl, internal::Matcher< Decl >, InnerMatcher)
 Matches the Decl of a DeclStmt which has a single declaration.
 
 clang::ast_matchers::AST_MATCHER_P (VarDecl, hasInitializer, internal::Matcher< Expr >, InnerMatcher)
 Matches a variable declaration that has an initializer expression that matches the given matcher.
 
 clang::ast_matchers::AST_MATCHER (VarDecl, isInitCapture)
 Matches a variable serving as the implicit variable for a lambda init- capture.
 
 clang::ast_matchers::AST_MATCHER_P (LambdaExpr, forEachLambdaCapture, internal::Matcher< LambdaCapture >, InnerMatcher)
 Matches each lambda capture in a lambda expression.
 
 clang::ast_matchers::AST_MATCHER (VarDecl, isStaticLocal)
 Matches a static variable with local scope.
 
 clang::ast_matchers::AST_MATCHER (VarDecl, hasLocalStorage)
 Matches a variable declaration that has function scope and is a non-static local variable.
 
 clang::ast_matchers::AST_MATCHER (VarDecl, hasGlobalStorage)
 Matches a variable declaration that does not have local storage.
 
 clang::ast_matchers::AST_MATCHER (VarDecl, hasAutomaticStorageDuration)
 Matches a variable declaration that has automatic storage duration.
 
 clang::ast_matchers::AST_MATCHER (VarDecl, hasStaticStorageDuration)
 Matches a variable declaration that has static storage duration.
 
 clang::ast_matchers::AST_MATCHER (VarDecl, hasThreadStorageDuration)
 Matches a variable declaration that has thread storage duration.
 
 clang::ast_matchers::AST_MATCHER (VarDecl, isExceptionVariable)
 Matches a variable declaration that is an exception variable from a C++ catch block, or an Objective-C @catch statement.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (argumentCountIs, AST_POLYMORPHIC_SUPPORTED_TYPES(CallExpr, CXXConstructExpr, CXXUnresolvedConstructExpr, ObjCMessageExpr), unsigned, N)
 Checks that a call expression or a constructor call expression has a specific number of arguments (including absent default arguments).
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (argumentCountAtLeast, AST_POLYMORPHIC_SUPPORTED_TYPES(CallExpr, CXXConstructExpr, CXXUnresolvedConstructExpr, ObjCMessageExpr), unsigned, N)
 Checks that a call expression or a constructor call expression has at least the specified number of arguments (including absent default arguments).
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P2 (hasArgument, AST_POLYMORPHIC_SUPPORTED_TYPES(CallExpr, CXXConstructExpr, CXXUnresolvedConstructExpr, ObjCMessageExpr), unsigned, N, internal::Matcher< Expr >, InnerMatcher)
 Matches the n'th argument of a call expression or a constructor call expression.
 
 clang::ast_matchers::AST_MATCHER_P (CXXFoldExpr, hasFoldInit, internal::Matcher< Expr >, InnerMacher)
 Matches the operand that does not contain the parameter pack.
 
 clang::ast_matchers::AST_MATCHER_P (CXXFoldExpr, hasPattern, internal::Matcher< Expr >, InnerMacher)
 Matches the operand that contains the parameter pack.
 
 clang::ast_matchers::AST_MATCHER (CXXFoldExpr, isRightFold)
 Matches right-folding fold expressions.
 
 clang::ast_matchers::AST_MATCHER (CXXFoldExpr, isLeftFold)
 Matches left-folding fold expressions.
 
 clang::ast_matchers::AST_MATCHER (CXXFoldExpr, isUnaryFold)
 Matches unary fold expressions, i.e.
 
 clang::ast_matchers::AST_MATCHER (CXXFoldExpr, isBinaryFold)
 Matches binary fold expressions, i.e.
 
 clang::ast_matchers::AST_MATCHER_P2 (InitListExpr, hasInit, unsigned, N, internal::Matcher< Expr >, InnerMatcher)
 Matches the n'th item of an initializer list expression.
 
 clang::ast_matchers::AST_MATCHER_P (DeclStmt, declCountIs, unsigned, N)
 Matches declaration statements that contain a specific number of declarations.
 
 clang::ast_matchers::AST_MATCHER_P2 (DeclStmt, containsDeclaration, unsigned, N, internal::Matcher< Decl >, InnerMatcher)
 Matches the n'th declaration of a declaration statement.
 
 clang::ast_matchers::AST_MATCHER (CXXCatchStmt, isCatchAll)
 Matches a C++ catch statement that has a catch-all handler.
 
 clang::ast_matchers::AST_MATCHER_P (CXXConstructorDecl, hasAnyConstructorInitializer, internal::Matcher< CXXCtorInitializer >, InnerMatcher)
 Matches a constructor initializer.
 
 clang::ast_matchers::AST_MATCHER_P (CXXCtorInitializer, forField, internal::Matcher< FieldDecl >, InnerMatcher)
 Matches the field declaration of a constructor initializer.
 
 clang::ast_matchers::AST_MATCHER_P (CXXCtorInitializer, withInitializer, internal::Matcher< Expr >, InnerMatcher)
 Matches the initializer expression of a constructor initializer.
 
 clang::ast_matchers::AST_MATCHER (CXXCtorInitializer, isWritten)
 Matches a constructor initializer if it is explicitly written in code (as opposed to implicitly added by the compiler).
 
 clang::ast_matchers::AST_MATCHER (CXXCtorInitializer, isBaseInitializer)
 Matches a constructor initializer if it is initializing a base, as opposed to a member.
 
 clang::ast_matchers::AST_MATCHER (CXXCtorInitializer, isMemberInitializer)
 Matches a constructor initializer if it is initializing a member, as opposed to a base.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasAnyArgument, AST_POLYMORPHIC_SUPPORTED_TYPES(CallExpr, CXXConstructExpr, CXXUnresolvedConstructExpr, ObjCMessageExpr), internal::Matcher< Expr >, InnerMatcher)
 Matches any argument of a call expression or a constructor call expression, or an ObjC-message-send expression.
 
 clang::ast_matchers::AST_MATCHER_P (LambdaExpr, hasAnyCapture, internal::Matcher< LambdaCapture >, InnerMatcher)
 Matches any capture in a lambda expression.
 
 clang::ast_matchers::AST_MATCHER_P (LambdaCapture, capturesVar, internal::Matcher< ValueDecl >, InnerMatcher)
 Matches a LambdaCapture that refers to the specified VarDecl.
 
 clang::ast_matchers::AST_MATCHER (LambdaCapture, capturesThis)
 Matches a LambdaCapture that refers to 'this'.
 
 clang::ast_matchers::AST_MATCHER (CXXConstructExpr, isListInitialization)
 Matches a constructor call expression which uses list initialization.
 
 clang::ast_matchers::AST_MATCHER (CXXConstructExpr, requiresZeroInitialization)
 Matches a constructor call expression which requires zero initialization.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P2 (hasParameter, AST_POLYMORPHIC_SUPPORTED_TYPES(FunctionDecl, ObjCMethodDecl, BlockDecl), unsigned, N, internal::Matcher< ParmVarDecl >, InnerMatcher)
 Matches the n'th parameter of a function or an ObjC method declaration or a block.
 
 clang::ast_matchers::AST_MATCHER (CXXMethodDecl, isExplicitObjectMemberFunction)
 Matches if the given method declaration declares a member function with an explicit object parameter.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P2 (forEachArgumentWithParam, AST_POLYMORPHIC_SUPPORTED_TYPES(CallExpr, CXXConstructExpr), internal::Matcher< Expr >, ArgMatcher, internal::Matcher< ParmVarDecl >, ParamMatcher)
 Matches all arguments and their respective ParmVarDecl.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P2 (forEachArgumentWithParamType, AST_POLYMORPHIC_SUPPORTED_TYPES(CallExpr, CXXConstructExpr), internal::Matcher< Expr >, ArgMatcher, internal::Matcher< QualType >, ParamMatcher)
 Matches all arguments and their respective types for a CallExpr or CXXConstructExpr.
 
 clang::ast_matchers::AST_MATCHER_P (ParmVarDecl, isAtPosition, unsigned, N)
 Matches the ParmVarDecl nodes that are at the N'th position in the parameter list.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasAnyParameter, AST_POLYMORPHIC_SUPPORTED_TYPES(FunctionDecl, ObjCMethodDecl, BlockDecl), internal::Matcher< ParmVarDecl >, InnerMatcher)
 Matches any parameter of a function or an ObjC method declaration or a block.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (parameterCountIs, AST_POLYMORPHIC_SUPPORTED_TYPES(FunctionDecl, FunctionProtoType), unsigned, N)
 Matches FunctionDecls and FunctionProtoTypes that have a specific parameter count.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (forEachTemplateArgument, AST_POLYMORPHIC_SUPPORTED_TYPES(ClassTemplateSpecializationDecl, TemplateSpecializationType, FunctionDecl), internal::Matcher< TemplateArgument >, InnerMatcher)
 Matches classTemplateSpecialization, templateSpecializationType and functionDecl nodes where the template argument matches the inner matcher.
 
 clang::ast_matchers::AST_MATCHER (FunctionDecl, isNoReturn)
 Matches FunctionDecls that have a noreturn attribute.
 
 clang::ast_matchers::AST_MATCHER_P (FunctionDecl, returns, internal::Matcher< QualType >, InnerMatcher)
 Matches the return type of a function declaration.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isExternC, AST_POLYMORPHIC_SUPPORTED_TYPES(FunctionDecl, VarDecl))
 Matches extern "C" function or variable declarations.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isStaticStorageClass, AST_POLYMORPHIC_SUPPORTED_TYPES(FunctionDecl, VarDecl))
 Matches variable/function declarations that have "static" storage class specifier ("static" keyword) written in the source.
 
 clang::ast_matchers::AST_MATCHER (FunctionDecl, isDeleted)
 Matches deleted function declarations.
 
 clang::ast_matchers::AST_MATCHER (FunctionDecl, isDefaulted)
 Matches defaulted function declarations.
 
 clang::ast_matchers::AST_MATCHER (FunctionDecl, isWeak)
 Matches weak function declarations.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (hasDynamicExceptionSpec, AST_POLYMORPHIC_SUPPORTED_TYPES(FunctionDecl, FunctionProtoType))
 Matches functions that have a dynamic exception specification.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isNoThrow, AST_POLYMORPHIC_SUPPORTED_TYPES(FunctionDecl, FunctionProtoType))
 Matches functions that have a non-throwing exception specification.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isConsteval, AST_POLYMORPHIC_SUPPORTED_TYPES(FunctionDecl, IfStmt))
 Matches consteval function declarations and if consteval/if ! consteval statements.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isConstexpr, AST_POLYMORPHIC_SUPPORTED_TYPES(VarDecl, FunctionDecl, IfStmt))
 Matches constexpr variable and function declarations, and if constexpr.
 
 clang::ast_matchers::AST_MATCHER (VarDecl, isConstinit)
 Matches constinit variable declarations.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasInitStatement, AST_POLYMORPHIC_SUPPORTED_TYPES(IfStmt, SwitchStmt, CXXForRangeStmt), internal::Matcher< Stmt >, InnerMatcher)
 Matches selection statements with initializer.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasCondition, AST_POLYMORPHIC_SUPPORTED_TYPES(IfStmt, ForStmt, WhileStmt, DoStmt, SwitchStmt, AbstractConditionalOperator), internal::Matcher< Expr >, InnerMatcher)
 Matches the condition expression of an if statement, for loop, switch statement or conditional operator.
 
 clang::ast_matchers::AST_MATCHER_P (IfStmt, hasThen, internal::Matcher< Stmt >, InnerMatcher)
 Matches the then-statement of an if statement.
 
 clang::ast_matchers::AST_MATCHER_P (IfStmt, hasElse, internal::Matcher< Stmt >, InnerMatcher)
 Matches the else-statement of an if statement.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (equalsBoundNode, AST_POLYMORPHIC_SUPPORTED_TYPES(Stmt, Decl, Type, QualType), std::string, ID)
 Matches if a node equals a previously bound node.
 
 clang::ast_matchers::AST_MATCHER_P (IfStmt, hasConditionVariableStatement, internal::Matcher< DeclStmt >, InnerMatcher)
 Matches the condition variable statement in an if statement.
 
 clang::ast_matchers::AST_MATCHER_P (ArraySubscriptExpr, hasIndex, internal::Matcher< Expr >, InnerMatcher)
 Matches the index expression of an array subscript expression.
 
 clang::ast_matchers::AST_MATCHER_P (ArraySubscriptExpr, hasBase, internal::Matcher< Expr >, InnerMatcher)
 Matches the base expression of an array subscript expression.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasBody, AST_POLYMORPHIC_SUPPORTED_TYPES(DoStmt, ForStmt, WhileStmt, CXXForRangeStmt, FunctionDecl, CoroutineBodyStmt), internal::Matcher< Stmt >, InnerMatcher)
 Matches a 'for', 'while', 'while' statement or a function or coroutine definition that has a given body.
 
 clang::ast_matchers::AST_MATCHER_P (FunctionDecl, hasAnyBody, internal::Matcher< Stmt >, InnerMatcher)
 Matches a function declaration that has a given body present in the AST.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasAnySubstatement, AST_POLYMORPHIC_SUPPORTED_TYPES(CompoundStmt, StmtExpr), internal::Matcher< Stmt >, InnerMatcher)
 Matches compound statements where at least one substatement matches a given matcher.
 
 clang::ast_matchers::AST_MATCHER_P (CompoundStmt, statementCountIs, unsigned, N)
 Checks that a compound statement contains a specific number of child statements.
 
template<typename ValueT >
internal::PolymorphicMatcher< internal::ValueEqualsMatcher, void(internal::AllNodeBaseTypes), ValueT > clang::ast_matchers::equals (const ValueT &Value)
 Matches literals that are equal to the given value of type ValueT.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD (equals, AST_POLYMORPHIC_SUPPORTED_TYPES(CharacterLiteral, CXXBoolLiteralExpr, IntegerLiteral), bool, Value, 0)
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD (equals, AST_POLYMORPHIC_SUPPORTED_TYPES(CharacterLiteral, CXXBoolLiteralExpr, IntegerLiteral), unsigned, Value, 1)
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD (equals, AST_POLYMORPHIC_SUPPORTED_TYPES(CharacterLiteral, CXXBoolLiteralExpr, FloatingLiteral, IntegerLiteral), double, Value, 2)
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasOperatorName, AST_POLYMORPHIC_SUPPORTED_TYPES(BinaryOperator, CXXOperatorCallExpr, CXXRewrittenBinaryOperator, CXXFoldExpr, UnaryOperator), std::string, Name)
 Matches the operator Name of operator expressions and fold expressions (binary or unary).
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isAssignmentOperator, AST_POLYMORPHIC_SUPPORTED_TYPES(BinaryOperator, CXXOperatorCallExpr, CXXRewrittenBinaryOperator))
 Matches all kinds of assignment operators.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isComparisonOperator, AST_POLYMORPHIC_SUPPORTED_TYPES(BinaryOperator, CXXOperatorCallExpr, CXXRewrittenBinaryOperator))
 Matches comparison operators.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasLHS, AST_POLYMORPHIC_SUPPORTED_TYPES(BinaryOperator, CXXOperatorCallExpr, CXXRewrittenBinaryOperator, ArraySubscriptExpr, CXXFoldExpr), internal::Matcher< Expr >, InnerMatcher)
 Matches the left hand side of binary operator expressions.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasRHS, AST_POLYMORPHIC_SUPPORTED_TYPES(BinaryOperator, CXXOperatorCallExpr, CXXRewrittenBinaryOperator, ArraySubscriptExpr, CXXFoldExpr), internal::Matcher< Expr >, InnerMatcher)
 Matches the right hand side of binary operator expressions.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasEitherOperand, AST_POLYMORPHIC_SUPPORTED_TYPES(BinaryOperator, CXXOperatorCallExpr, CXXFoldExpr, CXXRewrittenBinaryOperator), internal::Matcher< Expr >, InnerMatcher)
 Matches if either the left hand side or the right hand side of a binary operator or fold expression matches.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P2 (hasOperands, AST_POLYMORPHIC_SUPPORTED_TYPES(BinaryOperator, CXXOperatorCallExpr, CXXFoldExpr, CXXRewrittenBinaryOperator), internal::Matcher< Expr >, Matcher1, internal::Matcher< Expr >, Matcher2)
 Matches if both matchers match with opposite sides of the binary operator or fold expression.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasUnaryOperand, AST_POLYMORPHIC_SUPPORTED_TYPES(UnaryOperator, CXXOperatorCallExpr), internal::Matcher< Expr >, InnerMatcher)
 Matches if the operand of a unary operator matches.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasSourceExpression, AST_POLYMORPHIC_SUPPORTED_TYPES(CastExpr, OpaqueValueExpr), internal::Matcher< Expr >, InnerMatcher)
 Matches if the cast's source expression or opaque value's source expression matches the given matcher.
 
 clang::ast_matchers::AST_MATCHER_P (CastExpr, hasCastKind, CastKind, Kind)
 Matches casts that has a given cast kind.
 
 clang::ast_matchers::AST_MATCHER_P (ExplicitCastExpr, hasDestinationType, internal::Matcher< QualType >, InnerMatcher)
 Matches casts whose destination type matches a given matcher.
 
 clang::ast_matchers::AST_MATCHER_P (ImplicitCastExpr, hasImplicitDestinationType, internal::Matcher< QualType >, InnerMatcher)
 Matches implicit casts whose destination type matches a given matcher.
 
 clang::ast_matchers::AST_MATCHER (TagDecl, isStruct)
 Matches TagDecl object that are spelled with "struct.".
 
 clang::ast_matchers::AST_MATCHER (TagDecl, isUnion)
 Matches TagDecl object that are spelled with "union.".
 
 clang::ast_matchers::AST_MATCHER (TagDecl, isClass)
 Matches TagDecl object that are spelled with "class.".
 
 clang::ast_matchers::AST_MATCHER (TagDecl, isEnum)
 Matches TagDecl object that are spelled with "enum.".
 
 clang::ast_matchers::AST_MATCHER_P (AbstractConditionalOperator, hasTrueExpression, internal::Matcher< Expr >, InnerMatcher)
 Matches the true branch expression of a conditional operator.
 
 clang::ast_matchers::AST_MATCHER_P (AbstractConditionalOperator, hasFalseExpression, internal::Matcher< Expr >, InnerMatcher)
 Matches the false branch expression of a conditional operator (binary or ternary).
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isDefinition, AST_POLYMORPHIC_SUPPORTED_TYPES(TagDecl, VarDecl, ObjCMethodDecl, FunctionDecl))
 Matches if a declaration has a body attached.
 
 clang::ast_matchers::AST_MATCHER (FunctionDecl, isVariadic)
 Matches if a function declaration is variadic.
 
 clang::ast_matchers::AST_MATCHER_P (CXXMethodDecl, ofClass, internal::Matcher< CXXRecordDecl >, InnerMatcher)
 Matches the class declaration that the given method declaration belongs to.
 
 clang::ast_matchers::AST_MATCHER_P (CXXMethodDecl, forEachOverridden, internal::Matcher< CXXMethodDecl >, InnerMatcher)
 Matches each method overridden by the given method.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isVirtual, AST_POLYMORPHIC_SUPPORTED_TYPES(CXXMethodDecl, CXXBaseSpecifier))
 Matches declarations of virtual methods and C++ base specifers that specify virtual inheritance.
 
 clang::ast_matchers::AST_MATCHER (CXXMethodDecl, isVirtualAsWritten)
 Matches if the given method declaration has an explicit "virtual".
 
 clang::ast_matchers::AST_MATCHER (CXXConstructorDecl, isInheritingConstructor)
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isFinal, AST_POLYMORPHIC_SUPPORTED_TYPES(CXXRecordDecl, CXXMethodDecl))
 Matches if the given method or class declaration is final.
 
 clang::ast_matchers::AST_MATCHER (CXXMethodDecl, isPure)
 Matches if the given method declaration is pure.
 
 clang::ast_matchers::AST_MATCHER (CXXMethodDecl, isConst)
 Matches if the given method declaration is const.
 
 clang::ast_matchers::AST_MATCHER (CXXMethodDecl, isCopyAssignmentOperator)
 Matches if the given method declaration declares a copy assignment operator.
 
 clang::ast_matchers::AST_MATCHER (CXXMethodDecl, isMoveAssignmentOperator)
 Matches if the given method declaration declares a move assignment operator.
 
 clang::ast_matchers::AST_MATCHER (CXXMethodDecl, isOverride)
 Matches if the given method declaration overrides another method.
 
 clang::ast_matchers::AST_MATCHER (CXXMethodDecl, isUserProvided)
 Matches method declarations that are user-provided.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isArrow, AST_POLYMORPHIC_SUPPORTED_TYPES(MemberExpr, UnresolvedMemberExpr, CXXDependentScopeMemberExpr))
 Matches member expressions that are called with '->' as opposed to '.
 
 clang::ast_matchers::AST_MATCHER (QualType, isInteger)
 Matches QualType nodes that are of integer type.
 
 clang::ast_matchers::AST_MATCHER (QualType, isUnsignedInteger)
 Matches QualType nodes that are of unsigned integer type.
 
 clang::ast_matchers::AST_MATCHER (QualType, isSignedInteger)
 Matches QualType nodes that are of signed integer type.
 
 clang::ast_matchers::AST_MATCHER (QualType, isAnyCharacter)
 Matches QualType nodes that are of character type.
 
 clang::ast_matchers::AST_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.
 
 clang::ast_matchers::AST_MATCHER (QualType, isConstQualified)
 Matches QualType nodes that are const-qualified, i.e., that include "top-level" const.
 
 clang::ast_matchers::AST_MATCHER (QualType, isVolatileQualified)
 Matches QualType nodes that are volatile-qualified, i.e., that include "top-level" volatile.
 
 clang::ast_matchers::AST_MATCHER (QualType, hasLocalQualifiers)
 Matches QualType nodes that have local CV-qualifiers attached to the node, not hidden within a typedef.
 
 clang::ast_matchers::AST_MATCHER_P (MemberExpr, member, internal::Matcher< ValueDecl >, InnerMatcher)
 Matches a member expression where the member is matched by a given matcher.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasObjectExpression, AST_POLYMORPHIC_SUPPORTED_TYPES(MemberExpr, UnresolvedMemberExpr, CXXDependentScopeMemberExpr), internal::Matcher< Expr >, InnerMatcher)
 Matches a member expression where the object expression is matched by a given matcher.
 
 clang::ast_matchers::AST_MATCHER_P (BaseUsingDecl, hasAnyUsingShadowDecl, internal::Matcher< UsingShadowDecl >, InnerMatcher)
 Matches any using shadow declaration.
 
 clang::ast_matchers::AST_MATCHER_P (UsingShadowDecl, hasTargetDecl, internal::Matcher< NamedDecl >, InnerMatcher)
 Matches a using shadow declaration where the target declaration is matched by the given matcher.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isTemplateInstantiation, AST_POLYMORPHIC_SUPPORTED_TYPES(FunctionDecl, VarDecl, CXXRecordDecl))
 Matches template instantiations of function, class, or static member variable template instantiations.
 
 clang::ast_matchers::AST_MATCHER_FUNCTION (internal::Matcher< Decl >, isInstantiated)
 Matches declarations that are template instantiations or are inside template instantiations.
 
 clang::ast_matchers::AST_MATCHER_FUNCTION (internal::Matcher< Stmt >, isInTemplateInstantiation)
 Matches statements inside of a template instantiation.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isExplicitTemplateSpecialization, AST_POLYMORPHIC_SUPPORTED_TYPES(FunctionDecl, VarDecl, CXXRecordDecl))
 Matches explicit template specializations of function, class, or static member variable template instantiations.
 
 clang::ast_matchers::AST_MATCHER_FUNCTION_P_OVERLOAD (internal::BindableMatcher< TypeLoc >, loc, internal::Matcher< QualType >, InnerMatcher, 0)
 Matches TypeLocs for which the given inner QualType-matcher matches.
 
 clang::ast_matchers::AST_MATCHER_P (QualifiedTypeLoc, hasUnqualifiedLoc, internal::Matcher< TypeLoc >, InnerMatcher)
 Matches QualifiedTypeLocs that have an unqualified TypeLoc matching InnerMatcher.
 
 clang::ast_matchers::AST_MATCHER_P (FunctionDecl, hasReturnTypeLoc, internal::Matcher< TypeLoc >, ReturnMatcher)
 Matches a function declared with the specified return TypeLoc.
 
 clang::ast_matchers::AST_MATCHER_P (PointerTypeLoc, hasPointeeLoc, internal::Matcher< TypeLoc >, PointeeMatcher)
 Matches pointer TypeLocs that have a pointee TypeLoc matching PointeeMatcher.
 
 clang::ast_matchers::AST_MATCHER_P (ReferenceTypeLoc, hasReferentLoc, internal::Matcher< TypeLoc >, ReferentMatcher)
 Matches reference TypeLocs that have a referent TypeLoc matching ReferentMatcher.
 
 clang::ast_matchers::AST_MATCHER_P (TemplateSpecializationTypeLoc, hasAnyTemplateArgumentLoc, internal::Matcher< TemplateArgumentLoc >, InnerMatcher)
 Matches template specialization TypeLocs that have at least one TemplateArgumentLoc matching the given InnerMatcher.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P2 (hasTemplateArgumentLoc, AST_POLYMORPHIC_SUPPORTED_TYPES(DeclRefExpr, TemplateSpecializationTypeLoc), unsigned, Index, internal::Matcher< TemplateArgumentLoc >, InnerMatcher)
 Matches template specialization TypeLocs where the n'th TemplateArgumentLoc matches the given InnerMatcher.
 
 clang::ast_matchers::AST_MATCHER_P (ElaboratedTypeLoc, hasNamedTypeLoc, internal::Matcher< TypeLoc >, InnerMatcher)
 Matches elaborated TypeLocs that have a named TypeLoc matching InnerMatcher.
 
 clang::ast_matchers::AST_MATCHER (Type, booleanType)
 Matches type bool.
 
 clang::ast_matchers::AST_MATCHER (Type, voidType)
 Matches type void.
 
 clang::ast_matchers::AST_MATCHER (Type, realFloatingPointType)
 Matches any real floating-point type (float, double, long double).
 
 clang::ast_matchers::AST_TYPELOC_TRAVERSE_MATCHER_DECL (hasElementType, getElement, AST_POLYMORPHIC_SUPPORTED_TYPES(ArrayType, ComplexType))
 Matches arrays and C99 complex types that have a specific element type.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (hasSize, AST_POLYMORPHIC_SUPPORTED_TYPES(ConstantArrayType, StringLiteral), unsigned, N)
 Matches nodes that have the specified size.
 
 clang::ast_matchers::AST_MATCHER_P (VariableArrayType, hasSizeExpr, internal::Matcher< Expr >, InnerMatcher)
 Matches VariableArrayType nodes that have a specific size expression.
 
 clang::ast_matchers::AST_TYPELOC_TRAVERSE_MATCHER_DECL (hasValueType, getValue, AST_POLYMORPHIC_SUPPORTED_TYPES(AtomicType))
 Matches atomic types with a specific value type.
 
 clang::ast_matchers::AST_TYPE_TRAVERSE_MATCHER (hasDeducedType, getDeducedType, AST_POLYMORPHIC_SUPPORTED_TYPES(AutoType))
 Matches AutoType nodes where the deduced type is a specific type.
 
 clang::ast_matchers::AST_TYPE_TRAVERSE_MATCHER (hasUnderlyingType, getUnderlyingType, AST_POLYMORPHIC_SUPPORTED_TYPES(DecltypeType, UsingType))
 Matches DecltypeType or UsingType nodes to find the underlying type.
 
 clang::ast_matchers::AST_TYPE_TRAVERSE_MATCHER (innerType, getInnerType, AST_POLYMORPHIC_SUPPORTED_TYPES(ParenType))
 Matches ParenType nodes where the inner type is a specific type.
 
 clang::ast_matchers::AST_TYPELOC_TRAVERSE_MATCHER_DECL (pointee, getPointee, AST_POLYMORPHIC_SUPPORTED_TYPES(BlockPointerType, MemberPointerType, PointerType, ReferenceType))
 Narrows PointerType (and similar) matchers to those where the pointee matches a given matcher.
 
 clang::ast_matchers::AST_MATCHER_P (ElaboratedType, hasQualifier, internal::Matcher< NestedNameSpecifier >, InnerMatcher)
 Matches ElaboratedTypes whose qualifier, a NestedNameSpecifier, matches InnerMatcher if the qualifier exists.
 
 clang::ast_matchers::AST_MATCHER_P (ElaboratedType, namesType, internal::Matcher< QualType >, InnerMatcher)
 Matches ElaboratedTypes whose named type matches InnerMatcher.
 
 clang::ast_matchers::AST_TYPE_TRAVERSE_MATCHER (hasReplacementType, getReplacementType, AST_POLYMORPHIC_SUPPORTED_TYPES(SubstTemplateTypeParmType))
 Matches template type parameter substitutions that have a replacement type that matches the provided matcher.
 
 clang::ast_matchers::AST_MATCHER_P (DecayedType, hasDecayedType, internal::Matcher< QualType >, InnerType)
 Matches the decayed type, whoes decayed type matches InnerMatcher.
 
 clang::ast_matchers::AST_MATCHER_P (Decl, hasDeclContext, internal::Matcher< Decl >, InnerMatcher)
 Matches declarations whose declaration context, interpreted as a Decl, matches InnerMatcher.
 
 clang::ast_matchers::AST_MATCHER_FUNCTION_P_OVERLOAD (internal::BindableMatcher< NestedNameSpecifierLoc >, loc, internal::Matcher< NestedNameSpecifier >, InnerMatcher, 1)
 Matches NestedNameSpecifierLocs for which the given inner NestedNameSpecifier-matcher matches.
 
 clang::ast_matchers::AST_MATCHER_P (NestedNameSpecifier, specifiesType, internal::Matcher< QualType >, InnerMatcher)
 Matches nested name specifiers that specify a type matching the given QualType matcher without qualifiers.
 
 clang::ast_matchers::AST_MATCHER_P (NestedNameSpecifierLoc, specifiesTypeLoc, internal::Matcher< TypeLoc >, InnerMatcher)
 Matches nested name specifier locs that specify a type matching the given TypeLoc.
 
 clang::ast_matchers::AST_MATCHER_P_OVERLOAD (NestedNameSpecifier, hasPrefix, internal::Matcher< NestedNameSpecifier >, InnerMatcher, 0)
 Matches on the prefix of a NestedNameSpecifier.
 
 clang::ast_matchers::AST_MATCHER_P_OVERLOAD (NestedNameSpecifierLoc, hasPrefix, internal::Matcher< NestedNameSpecifierLoc >, InnerMatcher, 1)
 Matches on the prefix of a NestedNameSpecifierLoc.
 
 clang::ast_matchers::AST_MATCHER_P (NestedNameSpecifier, specifiesNamespace, internal::Matcher< NamespaceDecl >, InnerMatcher)
 Matches nested name specifiers that specify a namespace matching the given namespace matcher.
 
 clang::ast_matchers::AST_MATCHER_P (SwitchStmt, forEachSwitchCase, internal::Matcher< SwitchCase >, InnerMatcher)
 Matches each case or default statement belonging to the given switch statement.
 
 clang::ast_matchers::AST_MATCHER_P (CXXConstructorDecl, forEachConstructorInitializer, internal::Matcher< CXXCtorInitializer >, InnerMatcher)
 Matches each constructor initializer in a constructor definition.
 
 clang::ast_matchers::AST_MATCHER (CXXConstructorDecl, isCopyConstructor)
 Matches constructor declarations that are copy constructors.
 
 clang::ast_matchers::AST_MATCHER (CXXConstructorDecl, isMoveConstructor)
 Matches constructor declarations that are move constructors.
 
 clang::ast_matchers::AST_MATCHER (CXXConstructorDecl, isDefaultConstructor)
 Matches constructor declarations that are default constructors.
 
 clang::ast_matchers::AST_MATCHER (CXXConstructorDecl, isDelegatingConstructor)
 Matches constructors that delegate to another constructor.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isExplicit, AST_POLYMORPHIC_SUPPORTED_TYPES(CXXConstructorDecl, CXXConversionDecl, CXXDeductionGuideDecl))
 Matches constructor, conversion function, and deduction guide declarations that have an explicit specifier if this explicit specifier is resolved to true.
 
 clang::ast_matchers::AST_MATCHER_P (FunctionDecl, hasExplicitSpecifier, internal::Matcher< Expr >, InnerMatcher)
 Matches the expression in an explicit specifier if present in the given declaration.
 
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isInline, AST_POLYMORPHIC_SUPPORTED_TYPES(NamespaceDecl, FunctionDecl, VarDecl))
 Matches functions, variables and namespace declarations that are marked with the inline keyword.
 
 clang::ast_matchers::AST_MATCHER (NamespaceDecl, isAnonymous)
 Matches anonymous namespace declarations.
 
 clang::ast_matchers::AST_MATCHER (Decl, isInStdNamespace)
 Matches declarations in the namespace std, but not in nested namespaces.
 
 clang::ast_matchers::AST_MATCHER (Decl, isInAnonymousNamespace)
 Matches declarations in an anonymous namespace.
 
 clang::ast_matchers::AST_MATCHER_P (CaseStmt, hasCaseConstant, internal::Matcher< Expr >, InnerMatcher)
 If the given case statement does not use the GNU case range extension, matches the constant given in the statement.
 
 clang::ast_matchers::AST_MATCHER_P (Decl, hasAttr, attr::Kind, AttrKind)
 Matches declaration that has a given attribute.
 
 clang::ast_matchers::AST_MATCHER_P (ReturnStmt, hasReturnValue, internal::Matcher< Expr >, InnerMatcher)
 Matches the return value expression of a return statement.
 
 clang::ast_matchers::AST_MATCHER_FUNCTION (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.
 
 clang::ast_matchers::AST_MATCHER_P (BindingDecl, forDecomposition, internal::Matcher< ValueDecl >, InnerMatcher)
 Matches the DecompositionDecl the binding belongs to.
 
 clang::ast_matchers::AST_MATCHER_P2 (DecompositionDecl, hasBinding, unsigned, N, internal::Matcher< BindingDecl >, InnerMatcher)
 Matches the Nth binding of a DecompositionDecl.
 
 clang::ast_matchers::AST_MATCHER_P (DecompositionDecl, hasAnyBinding, internal::Matcher< BindingDecl >, InnerMatcher)
 Matches any binding of a DecompositionDecl.
 
 clang::ast_matchers::AST_MATCHER_P (Stmt, forFunction, internal::Matcher< FunctionDecl >, InnerMatcher)
 Matches declaration of the function the statement belongs to.
 
 clang::ast_matchers::AST_MATCHER_P (Stmt, forCallable, internal::Matcher< Decl >, InnerMatcher)
 Matches declaration of the function, method, or block the statement belongs to.
 
 clang::ast_matchers::AST_MATCHER (NamedDecl, hasExternalFormalLinkage)
 Matches a declaration that has external formal linkage.
 
 clang::ast_matchers::AST_MATCHER (ParmVarDecl, hasDefaultArgument)
 Matches a declaration that has default arguments.
 
 clang::ast_matchers::AST_MATCHER (CXXNewExpr, isArray)
 Matches array new expressions.
 
 clang::ast_matchers::AST_MATCHER_P2 (CXXNewExpr, hasPlacementArg, unsigned, Index, internal::Matcher< Expr >, InnerMatcher)
 Matches placement new expression arguments.
 
 clang::ast_matchers::AST_MATCHER_P (CXXNewExpr, hasAnyPlacementArg, internal::Matcher< Expr >, InnerMatcher)
 Matches any placement new expression arguments.
 
 clang::ast_matchers::AST_MATCHER_P (CXXNewExpr, hasArraySize, internal::Matcher< Expr >, InnerMatcher)
 Matches array new expressions with a given array size.
 
 clang::ast_matchers::AST_MATCHER (CXXRecordDecl, hasDefinition)
 Matches a class declaration that is defined.
 
 clang::ast_matchers::AST_MATCHER (EnumDecl, isScoped)
 Matches C++11 scoped enum declaration.
 
 clang::ast_matchers::AST_MATCHER (FunctionDecl, hasTrailingReturn)
 Matches a function declared with a trailing return type.
 
 clang::ast_matchers::AST_MATCHER_P (Expr, ignoringElidableConstructorCall, internal::Matcher< Expr >, InnerMatcher)
 Matches expressions that match InnerMatcher that are possibly wrapped in an elidable constructor and other corresponding bookkeeping nodes.
 
 clang::ast_matchers::AST_MATCHER (OMPExecutableDirective, isStandaloneDirective)
 Matches standalone OpenMP directives, i.e., directives that can't have a structured block.
 
 clang::ast_matchers::AST_MATCHER_P (OMPExecutableDirective, hasStructuredBlock, internal::Matcher< Stmt >, InnerMatcher)
 Matches the structured-block of the OpenMP executable directive.
 
 clang::ast_matchers::AST_MATCHER_P (OMPExecutableDirective, hasAnyClause, internal::Matcher< OMPClause >, InnerMatcher)
 Matches any clause in an OpenMP directive.
 
 clang::ast_matchers::AST_MATCHER (OMPDefaultClause, isNoneKind)
 Matches if the OpenMP default clause has none kind specified.
 
 clang::ast_matchers::AST_MATCHER (OMPDefaultClause, isSharedKind)
 Matches if the OpenMP default clause has shared kind specified.
 
 clang::ast_matchers::AST_MATCHER (OMPDefaultClause, isPrivateKind)
 Matches if the OpenMP default clause has private kind specified.
 
 clang::ast_matchers::AST_MATCHER (OMPDefaultClause, isFirstPrivateKind)
 Matches if the OpenMP default clause has firstprivate kind specified.
 
 clang::ast_matchers::AST_MATCHER_P (OMPExecutableDirective, isAllowedToContainClauseKind, OpenMPClauseKind, CKind)
 Matches if the OpenMP directive is allowed to contain the specified OpenMP clause kind.
 
 clang::ast_matchers::AST_MATCHER_P_OVERLOAD (Decl, equalsNode, const Decl *, Other, 0)
 Overloads for the equalsNode matcher.
 
 clang::ast_matchers::AST_MATCHER_P_OVERLOAD (Stmt, equalsNode, const Stmt *, Other, 1)
 Matches if a node equals another node.
 
 clang::ast_matchers::AST_MATCHER_P_OVERLOAD (Type, equalsNode, const Type *, Other, 2)
 Matches if a node equals another node.
 

Variables

const internal::VariadicDynCastAllOfMatcher< Decl, TranslationUnitDecl > clang::ast_matchers::translationUnitDecl
 Matches the top declaration context.
 
const internal::VariadicDynCastAllOfMatcher< Decl, TypedefDecl > clang::ast_matchers::typedefDecl
 Matches typedef declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, TypedefNameDecl > clang::ast_matchers::typedefNameDecl
 Matches typedef name declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, TypeAliasDecl > clang::ast_matchers::typeAliasDecl
 Matches type alias declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, TypeAliasTemplateDecl > clang::ast_matchers::typeAliasTemplateDecl
 Matches type alias template declarations.
 
const internal::VariadicAllOfMatcher< Decl > clang::ast_matchers::decl
 Matches declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, DecompositionDecl > clang::ast_matchers::decompositionDecl
 Matches decomposition-declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, BindingDecl > clang::ast_matchers::bindingDecl
 Matches binding declarations Example matches foo and bar (matcher = bindingDecl()
 
const internal::VariadicDynCastAllOfMatcher< Decl, LinkageSpecDecl > clang::ast_matchers::linkageSpecDecl
 Matches a declaration of a linkage specification.
 
const internal::VariadicDynCastAllOfMatcher< Decl, NamedDecl > clang::ast_matchers::namedDecl
 Matches a declaration of anything that could have a name.
 
const internal::VariadicDynCastAllOfMatcher< Decl, LabelDecl > clang::ast_matchers::labelDecl
 Matches a declaration of label.
 
const internal::VariadicDynCastAllOfMatcher< Decl, NamespaceDecl > clang::ast_matchers::namespaceDecl
 Matches a declaration of a namespace.
 
const internal::VariadicDynCastAllOfMatcher< Decl, NamespaceAliasDecl > clang::ast_matchers::namespaceAliasDecl
 Matches a declaration of a namespace alias.
 
const internal::VariadicDynCastAllOfMatcher< Decl, RecordDecl > clang::ast_matchers::recordDecl
 Matches class, struct, and union declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, CXXRecordDecl > clang::ast_matchers::cxxRecordDecl
 Matches C++ class declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, ClassTemplateDecl > clang::ast_matchers::classTemplateDecl
 Matches C++ class template declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, ClassTemplateSpecializationDecl > clang::ast_matchers::classTemplateSpecializationDecl
 Matches C++ class template specializations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, ClassTemplatePartialSpecializationDecl > clang::ast_matchers::classTemplatePartialSpecializationDecl
 Matches C++ class template partial specializations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, DeclaratorDecl > clang::ast_matchers::declaratorDecl
 Matches declarator declarations (field, variable, function and non-type template parameter declarations).
 
const internal::VariadicDynCastAllOfMatcher< Decl, ParmVarDecl > clang::ast_matchers::parmVarDecl
 Matches parameter variable declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, AccessSpecDecl > clang::ast_matchers::accessSpecDecl
 Matches C++ access specifier declarations.
 
const internal::VariadicAllOfMatcher< CXXBaseSpecifier > clang::ast_matchers::cxxBaseSpecifier
 Matches class bases.
 
const internal::VariadicAllOfMatcher< CXXCtorInitializer > clang::ast_matchers::cxxCtorInitializer
 Matches constructor initializers.
 
const internal::VariadicAllOfMatcher< TemplateArgument > clang::ast_matchers::templateArgument
 Matches template arguments.
 
const internal::VariadicAllOfMatcher< TemplateArgumentLoc > clang::ast_matchers::templateArgumentLoc
 Matches template arguments (with location info).
 
const internal::VariadicAllOfMatcher< TemplateName > clang::ast_matchers::templateName
 Matches template name.
 
const internal::VariadicDynCastAllOfMatcher< Decl, NonTypeTemplateParmDecl > clang::ast_matchers::nonTypeTemplateParmDecl
 Matches non-type template parameter declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, TemplateTypeParmDecl > clang::ast_matchers::templateTypeParmDecl
 Matches template type parameter declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, TemplateTemplateParmDecl > clang::ast_matchers::templateTemplateParmDecl
 Matches template template parameter declarations.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCAutoreleasePoolStmt > clang::ast_matchers::autoreleasePoolStmt
 Matches an Objective-C autorelease pool statement.
 
const internal::VariadicDynCastAllOfMatcher< Decl, ValueDecl > clang::ast_matchers::valueDecl
 Matches any value declaration.
 
const internal::VariadicDynCastAllOfMatcher< Decl, CXXConstructorDecl > clang::ast_matchers::cxxConstructorDecl
 Matches C++ constructor declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, CXXDestructorDecl > clang::ast_matchers::cxxDestructorDecl
 Matches explicit C++ destructor declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, EnumDecl > clang::ast_matchers::enumDecl
 Matches enum declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, EnumConstantDecl > clang::ast_matchers::enumConstantDecl
 Matches enum constants.
 
const internal::VariadicDynCastAllOfMatcher< Decl, TagDecl > clang::ast_matchers::tagDecl
 Matches tag declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, CXXMethodDecl > clang::ast_matchers::cxxMethodDecl
 Matches method declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, CXXConversionDecl > clang::ast_matchers::cxxConversionDecl
 Matches conversion operator declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, CXXDeductionGuideDecl > clang::ast_matchers::cxxDeductionGuideDecl
 Matches user-defined and implicitly generated deduction guide.
 
const internal::VariadicDynCastAllOfMatcher< Decl, ConceptDecl > clang::ast_matchers::conceptDecl
 Matches concept declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, VarDecl > clang::ast_matchers::varDecl
 Matches variable declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, FieldDecl > clang::ast_matchers::fieldDecl
 Matches field declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, IndirectFieldDecl > clang::ast_matchers::indirectFieldDecl
 Matches indirect field declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, FunctionDecl > clang::ast_matchers::functionDecl
 Matches function declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, FunctionTemplateDecl > clang::ast_matchers::functionTemplateDecl
 Matches C++ function template declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, FriendDecl > clang::ast_matchers::friendDecl
 Matches friend declarations.
 
const internal::VariadicAllOfMatcher< Stmt > clang::ast_matchers::stmt
 Matches statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, DeclStmt > clang::ast_matchers::declStmt
 Matches declaration statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, MemberExpr > clang::ast_matchers::memberExpr
 Matches member expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, UnresolvedMemberExpr > clang::ast_matchers::unresolvedMemberExpr
 Matches unresolved member expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXDependentScopeMemberExpr > clang::ast_matchers::cxxDependentScopeMemberExpr
 Matches member expressions where the actual member referenced could not be resolved because the base expression or the member name was dependent.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CallExpr > clang::ast_matchers::callExpr
 Matches call expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, LambdaExpr > clang::ast_matchers::lambdaExpr
 Matches lambda expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXMemberCallExpr > clang::ast_matchers::cxxMemberCallExpr
 Matches member call expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCMessageExpr > clang::ast_matchers::objcMessageExpr
 Matches ObjectiveC Message invocation expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCStringLiteral > clang::ast_matchers::objcStringLiteral
 Matches ObjectiveC String literal expressions.
 
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCInterfaceDecl > clang::ast_matchers::objcInterfaceDecl
 Matches Objective-C interface declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCImplementationDecl > clang::ast_matchers::objcImplementationDecl
 Matches Objective-C implementation declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCProtocolDecl > clang::ast_matchers::objcProtocolDecl
 Matches Objective-C protocol declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCCategoryDecl > clang::ast_matchers::objcCategoryDecl
 Matches Objective-C category declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCCategoryImplDecl > clang::ast_matchers::objcCategoryImplDecl
 Matches Objective-C category definitions.
 
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCMethodDecl > clang::ast_matchers::objcMethodDecl
 Matches Objective-C method declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, BlockDecl > clang::ast_matchers::blockDecl
 Matches block declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCIvarDecl > clang::ast_matchers::objcIvarDecl
 Matches Objective-C instance variable declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCPropertyDecl > clang::ast_matchers::objcPropertyDecl
 Matches Objective-C property declarations.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCAtThrowStmt > clang::ast_matchers::objcThrowStmt
 Matches Objective-C @throw statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCAtTryStmt > clang::ast_matchers::objcTryStmt
 Matches Objective-C @try statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCAtCatchStmt > clang::ast_matchers::objcCatchStmt
 Matches Objective-C @catch statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCAtFinallyStmt > clang::ast_matchers::objcFinallyStmt
 Matches Objective-C @finally statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ExprWithCleanups > clang::ast_matchers::exprWithCleanups
 Matches expressions that introduce cleanups to be run at the end of the sub-expression's evaluation.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, InitListExpr > clang::ast_matchers::initListExpr
 Matches init list expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXStdInitializerListExpr > clang::ast_matchers::cxxStdInitializerListExpr
 Matches C++ initializer list expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ImplicitValueInitExpr > clang::ast_matchers::implicitValueInitExpr
 Matches implicit initializers of init list expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ParenListExpr > clang::ast_matchers::parenListExpr
 Matches paren list expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, SubstNonTypeTemplateParmExpr > clang::ast_matchers::substNonTypeTemplateParmExpr
 Matches substitutions of non-type template parameters.
 
const internal::VariadicDynCastAllOfMatcher< Decl, UsingDecl > clang::ast_matchers::usingDecl
 Matches using declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, UsingEnumDecl > clang::ast_matchers::usingEnumDecl
 Matches using-enum declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, UsingDirectiveDecl > clang::ast_matchers::usingDirectiveDecl
 Matches using namespace declarations.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, UnresolvedLookupExpr > clang::ast_matchers::unresolvedLookupExpr
 Matches reference to a name that can be looked up during parsing but could not be resolved to a specific declaration.
 
const internal::VariadicDynCastAllOfMatcher< Decl, UnresolvedUsingValueDecl > clang::ast_matchers::unresolvedUsingValueDecl
 Matches unresolved using value declarations.
 
const internal::VariadicDynCastAllOfMatcher< Decl, UnresolvedUsingTypenameDecl > clang::ast_matchers::unresolvedUsingTypenameDecl
 Matches unresolved using value declarations that involve the typename.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ConstantExpr > clang::ast_matchers::constantExpr
 Matches a constant expression wrapper.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ParenExpr > clang::ast_matchers::parenExpr
 Matches parentheses used in expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXConstructExpr > clang::ast_matchers::cxxConstructExpr
 Matches constructor call expressions (including implicit ones).
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXUnresolvedConstructExpr > clang::ast_matchers::cxxUnresolvedConstructExpr
 Matches unresolved constructor call expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXThisExpr > clang::ast_matchers::cxxThisExpr
 Matches implicit and explicit this expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXBindTemporaryExpr > clang::ast_matchers::cxxBindTemporaryExpr
 Matches nodes where temporaries are created.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, MaterializeTemporaryExpr > clang::ast_matchers::materializeTemporaryExpr
 Matches nodes where temporaries are materialized.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXNewExpr > clang::ast_matchers::cxxNewExpr
 Matches new expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXDeleteExpr > clang::ast_matchers::cxxDeleteExpr
 Matches delete expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXNoexceptExpr > clang::ast_matchers::cxxNoexceptExpr
 Matches noexcept expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ArrayInitLoopExpr > clang::ast_matchers::arrayInitLoopExpr
 Matches a loop initializing the elements of an array in a number of contexts:
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ArrayInitIndexExpr > clang::ast_matchers::arrayInitIndexExpr
 The arrayInitIndexExpr consists of two subexpressions: a common expression (the source array) that is evaluated once up-front, and a per-element initializer that runs once for each array element.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ArraySubscriptExpr > clang::ast_matchers::arraySubscriptExpr
 Matches array subscript expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXDefaultArgExpr > clang::ast_matchers::cxxDefaultArgExpr
 Matches the value of a default argument at the call site.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXOperatorCallExpr > clang::ast_matchers::cxxOperatorCallExpr
 Matches overloaded operator calls.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXFoldExpr > clang::ast_matchers::cxxFoldExpr
 Matches C++17 fold expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXRewrittenBinaryOperator > clang::ast_matchers::cxxRewrittenBinaryOperator
 Matches rewritten binary operators.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, Expr > clang::ast_matchers::expr
 Matches expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, DeclRefExpr > clang::ast_matchers::declRefExpr
 Matches expressions that refer to declarations.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCIvarRefExpr > clang::ast_matchers::objcIvarRefExpr
 Matches a reference to an ObjCIvar.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, BlockExpr > clang::ast_matchers::blockExpr
 Matches a reference to a block.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, IfStmt > clang::ast_matchers::ifStmt
 Matches if statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ForStmt > clang::ast_matchers::forStmt
 Matches for statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXForRangeStmt > clang::ast_matchers::cxxForRangeStmt
 Matches range-based for statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, WhileStmt > clang::ast_matchers::whileStmt
 Matches while statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, DoStmt > clang::ast_matchers::doStmt
 Matches do statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, BreakStmt > clang::ast_matchers::breakStmt
 Matches break statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ContinueStmt > clang::ast_matchers::continueStmt
 Matches continue statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CoreturnStmt > clang::ast_matchers::coreturnStmt
 Matches co_return statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ReturnStmt > clang::ast_matchers::returnStmt
 Matches return statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, GotoStmt > clang::ast_matchers::gotoStmt
 Matches goto statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, LabelStmt > clang::ast_matchers::labelStmt
 Matches label statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, AddrLabelExpr > clang::ast_matchers::addrLabelExpr
 Matches address of label statements (GNU extension).
 
const internal::VariadicDynCastAllOfMatcher< Stmt, SwitchStmt > clang::ast_matchers::switchStmt
 Matches switch statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, SwitchCase > clang::ast_matchers::switchCase
 Matches case and default statements inside switch statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CaseStmt > clang::ast_matchers::caseStmt
 Matches case statements inside switch statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, DefaultStmt > clang::ast_matchers::defaultStmt
 Matches default statements inside switch statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CompoundStmt > clang::ast_matchers::compoundStmt
 Matches compound statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXCatchStmt > clang::ast_matchers::cxxCatchStmt
 Matches catch statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXTryStmt > clang::ast_matchers::cxxTryStmt
 Matches try statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXThrowExpr > clang::ast_matchers::cxxThrowExpr
 Matches throw expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, NullStmt > clang::ast_matchers::nullStmt
 Matches null statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, AsmStmt > clang::ast_matchers::asmStmt
 Matches asm statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXBoolLiteralExpr > clang::ast_matchers::cxxBoolLiteral
 Matches bool literals.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, StringLiteral > clang::ast_matchers::stringLiteral
 Matches string literals (also matches wide string literals).
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CharacterLiteral > clang::ast_matchers::characterLiteral
 Matches character literals (also matches wchar_t).
 
const internal::VariadicDynCastAllOfMatcher< Stmt, IntegerLiteral > clang::ast_matchers::integerLiteral
 Matches integer literals of all sizes / encodings, e.g.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, FloatingLiteral > clang::ast_matchers::floatLiteral
 Matches float literals of all sizes / encodings, e.g.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ImaginaryLiteral > clang::ast_matchers::imaginaryLiteral
 Matches imaginary literals, which are based on integer and floating point literals e.g.: 1i, 1.0i.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, FixedPointLiteral > clang::ast_matchers::fixedPointLiteral
 Matches fixed point literals.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, UserDefinedLiteral > clang::ast_matchers::userDefinedLiteral
 Matches user defined literal operator call.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CompoundLiteralExpr > clang::ast_matchers::compoundLiteralExpr
 Matches compound (i.e.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CoawaitExpr > clang::ast_matchers::coawaitExpr
 Matches co_await expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, DependentCoawaitExpr > clang::ast_matchers::dependentCoawaitExpr
 Matches co_await expressions where the type of the promise is dependent.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CoyieldExpr > clang::ast_matchers::coyieldExpr
 Matches co_yield expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CoroutineBodyStmt > clang::ast_matchers::coroutineBodyStmt
 Matches coroutine body statements.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXNullPtrLiteralExpr > clang::ast_matchers::cxxNullPtrLiteralExpr
 Matches nullptr literal.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ChooseExpr > clang::ast_matchers::chooseExpr
 Matches GNU __builtin_choose_expr.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ConvertVectorExpr > clang::ast_matchers::convertVectorExpr
 Matches builtin function __builtin_convertvector.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, GNUNullExpr > clang::ast_matchers::gnuNullExpr
 Matches GNU __null expression.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, GenericSelectionExpr > clang::ast_matchers::genericSelectionExpr
 Matches C11 _Generic expression.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, AtomicExpr > clang::ast_matchers::atomicExpr
 Matches atomic builtins.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, StmtExpr > clang::ast_matchers::stmtExpr
 Matches statement expression (GNU extension).
 
const internal::VariadicDynCastAllOfMatcher< Stmt, BinaryOperator > clang::ast_matchers::binaryOperator
 Matches binary operator expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, UnaryOperator > clang::ast_matchers::unaryOperator
 Matches unary operator expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ConditionalOperator > clang::ast_matchers::conditionalOperator
 Matches conditional operator expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, BinaryConditionalOperator > clang::ast_matchers::binaryConditionalOperator
 Matches binary conditional operator expressions (GNU extension).
 
const internal::VariadicDynCastAllOfMatcher< Stmt, OpaqueValueExpr > clang::ast_matchers::opaqueValueExpr
 Matches opaque value expressions.
 
const internal::VariadicDynCastAllOfMatcher< Decl, StaticAssertDecl > clang::ast_matchers::staticAssertDecl
 Matches a C++ static_assert declaration.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXReinterpretCastExpr > clang::ast_matchers::cxxReinterpretCastExpr
 Matches a reinterpret_cast expression.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXStaticCastExpr > clang::ast_matchers::cxxStaticCastExpr
 Matches a C++ static_cast expression.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXDynamicCastExpr > clang::ast_matchers::cxxDynamicCastExpr
 Matches a dynamic_cast expression.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXConstCastExpr > clang::ast_matchers::cxxConstCastExpr
 Matches a const_cast expression.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CStyleCastExpr > clang::ast_matchers::cStyleCastExpr
 Matches a C-style cast expression.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ExplicitCastExpr > clang::ast_matchers::explicitCastExpr
 Matches explicit cast expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, ImplicitCastExpr > clang::ast_matchers::implicitCastExpr
 Matches the implicit cast nodes of Clang's AST.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CastExpr > clang::ast_matchers::castExpr
 Matches any cast nodes of Clang's AST.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXFunctionalCastExpr > clang::ast_matchers::cxxFunctionalCastExpr
 Matches functional cast expressions.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXTemporaryObjectExpr > clang::ast_matchers::cxxTemporaryObjectExpr
 Matches functional cast expressions having N != 1 arguments.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, PredefinedExpr > clang::ast_matchers::predefinedExpr
 Matches predefined identifier expressions [C99 6.4.2.2].
 
const internal::VariadicDynCastAllOfMatcher< Stmt, DesignatedInitExpr > clang::ast_matchers::designatedInitExpr
 Matches C99 designated initializer expressions [C99 6.7.8].
 
const internal::VariadicAllOfMatcher< QualType > clang::ast_matchers::qualType
 Matches QualTypes in the clang AST.
 
const internal::VariadicAllOfMatcher< Typeclang::ast_matchers::type
 Matches Types in the clang AST.
 
const internal::VariadicAllOfMatcher< TypeLoc > clang::ast_matchers::typeLoc
 Matches TypeLocs in the clang AST.
 
const internal::VariadicOperatorMatcherFunc< 2, std::numeric_limits< unsigned >::max()> clang::ast_matchers::eachOf = {internal::DynTypedMatcher::VO_EachOf}
 Matches if any of the given matchers matches.
 
const internal::VariadicOperatorMatcherFunc< 2, std::numeric_limits< unsigned >::max()> clang::ast_matchers::anyOf = {internal::DynTypedMatcher::VO_AnyOf}
 Matches if any of the given matchers matches.
 
const internal::VariadicOperatorMatcherFunc< 2, std::numeric_limits< unsigned >::max()> clang::ast_matchers::allOf = {internal::DynTypedMatcher::VO_AllOf}
 Matches if all given matchers match.
 
const internal::VariadicOperatorMatcherFunc< 1, 1 > clang::ast_matchers::optionally
 Matches any node regardless of the submatcher.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, UnaryExprOrTypeTraitExpr > clang::ast_matchers::unaryExprOrTypeTraitExpr
 Matches sizeof (C99), alignof (C++11) and vec_step (OpenCL)
 
const internal::MapAnyOfMatcher< BinaryOperator, CXXOperatorCallExpr, CXXRewrittenBinaryOperator > clang::ast_matchers::binaryOperation
 Matches nodes which can be used with binary operators.
 
const internal::MapAnyOfMatcher< CallExpr, CXXConstructExpr > clang::ast_matchers::invocation
 Matches function calls and constructor calls.
 
const internal::VariadicFunction< internal::Matcher< NamedDecl >, StringRef, internal::hasAnyNameFunc > clang::ast_matchers::hasAnyName = {}
 Matches NamedDecl nodes that have any of the specified names.
 
const internal::VariadicFunction< internal::PolymorphicMatcher< internal::HasOverloadedOperatorNameMatcher, AST_POLYMORPHIC_SUPPORTED_TYPES(CXXOperatorCallExpr, FunctionDecl), std::vector< std::string > >, StringRef, internal::hasAnyOverloadedOperatorNameFunc > clang::ast_matchers::hasAnyOverloadedOperatorName = {}
 Matches overloaded operator names.
 
const internal::ArgumentAdaptingMatcherFunc< internal::HasMatcher > clang::ast_matchers::has = {}
 Matches AST nodes that have child AST nodes that match the provided matcher.
 
const internal::ArgumentAdaptingMatcherFunc< internal::HasDescendantMatcher > clang::ast_matchers::hasDescendant = {}
 Matches AST nodes that have descendant AST nodes that match the provided matcher.
 
const internal::ArgumentAdaptingMatcherFunc< internal::ForEachMatcher > clang::ast_matchers::forEach
 Matches AST nodes that have child AST nodes that match the provided matcher.
 
const internal::ArgumentAdaptingMatcherFunc< internal::ForEachDescendantMatcher > clang::ast_matchers::forEachDescendant = {}
 Matches AST nodes that have descendant AST nodes that match the provided matcher.
 
const internal::ArgumentAdaptingMatcherFunc< internal::HasParentMatcher, internal::TypeList< Decl, NestedNameSpecifierLoc, Stmt, TypeLoc, Attr >, internal::TypeList< Decl, NestedNameSpecifierLoc, Stmt, TypeLoc, Attr > > clang::ast_matchers::hasParent = {}
 Matches AST nodes that have a parent that matches the provided matcher.
 
const internal::ArgumentAdaptingMatcherFunc< internal::HasAncestorMatcher, internal::TypeList< Decl, NestedNameSpecifierLoc, Stmt, TypeLoc, Attr >, internal::TypeList< Decl, NestedNameSpecifierLoc, Stmt, TypeLoc, Attr > > clang::ast_matchers::hasAncestor = {}
 Matches AST nodes that have an ancestor that matches the provided matcher.
 
const internal::VariadicOperatorMatcherFunc< 1, 1 > clang::ast_matchers::unless
 Matches if the provided matcher does not match.
 
const internal::VariadicFunction< internal::Matcher< ObjCMessageExpr >, StringRef, internal::hasAnySelectorFunc > clang::ast_matchers::hasAnySelector = {}
 Matches when at least one of the supplied string equals to the Selector.getAsString()
 
const internal::VariadicAllOfMatcher< LambdaCapture > clang::ast_matchers::lambdaCapture
 Matches lambda captures.
 
const internal::VariadicFunction< internal::PolymorphicMatcher< internal::HasAnyOperatorNameMatcher, AST_POLYMORPHIC_SUPPORTED_TYPES(BinaryOperator, CXXOperatorCallExpr, CXXRewrittenBinaryOperator, UnaryOperator), std::vector< std::string > >, StringRef, internal::hasAnyOperatorNameFunc > clang::ast_matchers::hasAnyOperatorName = {}
 Matches operator expressions (binary or unary) that have any of the specified names.
 
const internal::VariadicDynCastAllOfMatcher< TypeLoc, QualifiedTypeLoc > clang::ast_matchers::qualifiedTypeLoc
 Matches QualifiedTypeLocs in the clang AST.
 
const internal::VariadicDynCastAllOfMatcher< TypeLoc, PointerTypeLoc > clang::ast_matchers::pointerTypeLoc
 Matches pointer TypeLocs.
 
const internal::VariadicDynCastAllOfMatcher< TypeLoc, ReferenceTypeLoc > clang::ast_matchers::referenceTypeLoc
 Matches reference TypeLocs.
 
const internal::VariadicDynCastAllOfMatcher< TypeLoc, TemplateSpecializationTypeLoc > clang::ast_matchers::templateSpecializationTypeLoc
 Matches template specialization TypeLocs.
 
const internal::VariadicDynCastAllOfMatcher< TypeLoc, ElaboratedTypeLoc > clang::ast_matchers::elaboratedTypeLoc
 Matches C or C++ elaborated TypeLocs.
 
const AstTypeMatcher< BuiltinType > clang::ast_matchers::builtinType
 Matches builtin Types.
 
const AstTypeMatcher< ArrayType > clang::ast_matchers::arrayType
 Matches all kinds of arrays.
 
const AstTypeMatcher< ComplexType > clang::ast_matchers::complexType
 Matches C99 complex types.
 
const AstTypeMatcher< ConstantArrayType > clang::ast_matchers::constantArrayType
 Matches C arrays with a specified constant size.
 
const AstTypeMatcher< DependentSizedArrayType > clang::ast_matchers::dependentSizedArrayType
 Matches C++ arrays whose size is a value-dependent expression.
 
const AstTypeMatcher< DependentSizedExtVectorType > clang::ast_matchers::dependentSizedExtVectorType
 Matches C++ extended vector type where either the type or size is dependent.
 
const AstTypeMatcher< IncompleteArrayType > clang::ast_matchers::incompleteArrayType
 Matches C arrays with unspecified size.
 
const AstTypeMatcher< VariableArrayType > clang::ast_matchers::variableArrayType
 Matches C arrays with a specified size that is not an integer-constant-expression.
 
const AstTypeMatcher< AtomicType > clang::ast_matchers::atomicType
 Matches atomic types.
 
const AstTypeMatcher< AutoType > clang::ast_matchers::autoType
 Matches types nodes representing C++11 auto types.
 
const AstTypeMatcher< DecltypeType > clang::ast_matchers::decltypeType
 Matches types nodes representing C++11 decltype(<expr>) types.
 
const AstTypeMatcher< FunctionType > clang::ast_matchers::functionType
 Matches FunctionType nodes.
 
const AstTypeMatcher< FunctionProtoType > clang::ast_matchers::functionProtoType
 Matches FunctionProtoType nodes.
 
const AstTypeMatcher< ParenType > clang::ast_matchers::parenType
 Matches ParenType nodes.
 
const AstTypeMatcher< BlockPointerType > clang::ast_matchers::blockPointerType
 Matches block pointer types, i.e.
 
const AstTypeMatcher< MemberPointerType > clang::ast_matchers::memberPointerType
 Matches member pointer types.
 
const AstTypeMatcher< PointerType > clang::ast_matchers::pointerType
 Matches pointer types, but does not match Objective-C object pointer types.
 
const AstTypeMatcher< ObjCObjectPointerType > clang::ast_matchers::objcObjectPointerType
 Matches an Objective-C object pointer type, which is different from a pointer type, despite being syntactically similar.
 
const AstTypeMatcher< ReferenceType > clang::ast_matchers::referenceType
 Matches both lvalue and rvalue reference types.
 
const AstTypeMatcher< LValueReferenceType > clang::ast_matchers::lValueReferenceType
 Matches lvalue reference types.
 
const AstTypeMatcher< RValueReferenceType > clang::ast_matchers::rValueReferenceType
 Matches rvalue reference types.
 
const AstTypeMatcher< TypedefType > clang::ast_matchers::typedefType
 Matches typedef types.
 
const AstTypeMatcher< MacroQualifiedType > clang::ast_matchers::macroQualifiedType
 Matches qualified types when the qualifier is applied via a macro.
 
const AstTypeMatcher< EnumType > clang::ast_matchers::enumType
 Matches enum types.
 
const AstTypeMatcher< TemplateSpecializationType > clang::ast_matchers::templateSpecializationType
 Matches template specialization types.
 
const AstTypeMatcher< DeducedTemplateSpecializationType > clang::ast_matchers::deducedTemplateSpecializationType
 Matches C++17 deduced template specialization types, e.g.
 
const AstTypeMatcher< UnaryTransformType > clang::ast_matchers::unaryTransformType
 Matches types nodes representing unary type transformations.
 
const AstTypeMatcher< RecordType > clang::ast_matchers::recordType
 Matches record types (e.g.
 
const AstTypeMatcher< TagType > clang::ast_matchers::tagType
 Matches tag types (record and enum types).
 
const AstTypeMatcher< ElaboratedType > clang::ast_matchers::elaboratedType
 Matches types specified with an elaborated type keyword or with a qualified name.
 
const AstTypeMatcher< UsingType > clang::ast_matchers::usingType
 Matches types specified through a using declaration.
 
const AstTypeMatcher< SubstTemplateTypeParmType > clang::ast_matchers::substTemplateTypeParmType
 Matches types that represent the result of substituting a type for a template type parameter.
 
const AstTypeMatcher< TemplateTypeParmType > clang::ast_matchers::templateTypeParmType
 Matches template type parameter types.
 
const AstTypeMatcher< InjectedClassNameType > clang::ast_matchers::injectedClassNameType
 Matches injected class name types.
 
const AstTypeMatcher< DecayedType > clang::ast_matchers::decayedType
 Matches decayed type Example matches i[] in declaration of f.
 
const internal::VariadicAllOfMatcher< NestedNameSpecifier > clang::ast_matchers::nestedNameSpecifier
 Matches nested name specifiers.
 
const internal::VariadicAllOfMatcher< NestedNameSpecifierLoc > clang::ast_matchers::nestedNameSpecifierLoc
 Same as nestedNameSpecifier but matches NestedNameSpecifierLoc.
 
const internal::VariadicAllOfMatcher< Attr > clang::ast_matchers::attr
 Matches attributes.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, CUDAKernelCallExpr > clang::ast_matchers::cudaKernelCallExpr
 Matches CUDA kernel call expression.
 
const internal::VariadicDynCastAllOfMatcher< Stmt, OMPExecutableDirective > clang::ast_matchers::ompExecutableDirective
 Matches any #pragma omp executable directive.
 
const internal::VariadicDynCastAllOfMatcher< OMPClause, OMPDefaultClause > clang::ast_matchers::ompDefaultClause
 Matches OpenMP default clause.