clang 22.0.0git
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/ExprConcepts.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/ASTMatchers/LowLevelHelpers.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

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 specifiers that specify public inheritance.
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isProtected, AST_POLYMORPHIC_SUPPORTED_TYPES(Decl, CXXBaseSpecifier))
 Matches protected C++ declarations and C++ base specifiers that specify protected inheritance.
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER (isPrivate, AST_POLYMORPHIC_SUPPORTED_TYPES(Decl, CXXBaseSpecifier))
 Matches private C++ declarations and C++ base specifiers 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, VarTemplateSpecializationDecl, FunctionDecl, TemplateSpecializationType), internal::Matcher< TemplateArgument >, InnerMatcher)
 Matches templateSpecializationTypes, class template specializations, variable template specializations, and function template specializations that have at least one TemplateArgument matching the given InnerMatcher.
template<typename T>
internal::Matcher< Tclang::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< Tclang::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... >::Type > clang::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, VarTemplateSpecializationDecl, FunctionDecl, TemplateSpecializationType), unsigned, N, internal::Matcher< TemplateArgument >, InnerMatcher)
 Matches templateSpecializationType, class template specializations, variable template specializations, and function template specializations where the n'th TemplateArgument matches the given InnerMatcher.
 clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P (templateArgumentCountIs, AST_POLYMORPHIC_SUPPORTED_TYPES(ClassTemplateSpecializationDecl, VarTemplateSpecializationDecl, FunctionDecl, 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< Stmtclang::ast_matchers::alignOfExpr (const internal::Matcher< UnaryExprOrTypeTraitExpr > &InnerMatcher)
 Same as unaryExprOrTypeTraitExpr, but only matching alignof.
internal::BindableMatcher< Stmtclang::ast_matchers::sizeOfExpr (const internal::Matcher< UnaryExprOrTypeTraitExpr > &InnerMatcher)
 Same as unaryExprOrTypeTraitExpr, but only matching sizeof.
internal::Matcher< NamedDeclclang::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 (hasDependentName, AST_POLYMORPHIC_SUPPORTED_TYPES(DependentScopeDeclRefExpr, DependentNameType), std::string, N)
 Matches the dependent name of a DependentScopeDeclRefExpr or DependentNameType.
 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< Tclang::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, ObjCInterfaceDecl), 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, 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 (OMPExecutableDirective, isAllowedToContainClauseKind, OpenMPClauseKind, CKind)
 / Matches each case or default statement belonging to the given switch / statement.

Variables

const internal::VariadicDynCastAllOfMatcher< Decl, TranslationUnitDeclclang::ast_matchers::translationUnitDecl
 Matches the top declaration context.
const internal::VariadicDynCastAllOfMatcher< Decl, TypedefDeclclang::ast_matchers::typedefDecl
 Matches typedef declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, TypedefNameDeclclang::ast_matchers::typedefNameDecl
 Matches typedef name declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, TypeAliasDeclclang::ast_matchers::typeAliasDecl
 Matches type alias declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, UsingShadowDeclclang::ast_matchers::usingShadowDecl
 Matches shadow declarations introduced into a scope by a (resolved) using declaration.
const internal::VariadicDynCastAllOfMatcher< Decl, TypeAliasTemplateDeclclang::ast_matchers::typeAliasTemplateDecl
 Matches type alias template declarations.
const internal::VariadicAllOfMatcher< Declclang::ast_matchers::decl
 Matches declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, DecompositionDeclclang::ast_matchers::decompositionDecl
 Matches decomposition-declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, BindingDeclclang::ast_matchers::bindingDecl
 Matches binding declarations Example matches foo and bar (matcher = bindingDecl()
const internal::VariadicDynCastAllOfMatcher< Decl, LinkageSpecDeclclang::ast_matchers::linkageSpecDecl
 Matches a declaration of a linkage specification.
const internal::VariadicDynCastAllOfMatcher< Decl, NamedDeclclang::ast_matchers::namedDecl
 Matches a declaration of anything that could have a name.
const internal::VariadicDynCastAllOfMatcher< Decl, LabelDeclclang::ast_matchers::labelDecl
 Matches a declaration of label.
const internal::VariadicDynCastAllOfMatcher< Decl, NamespaceDeclclang::ast_matchers::namespaceDecl
 Matches a declaration of a namespace.
const internal::VariadicDynCastAllOfMatcher< Decl, NamespaceAliasDeclclang::ast_matchers::namespaceAliasDecl
 Matches a declaration of a namespace alias.
const internal::VariadicDynCastAllOfMatcher< Decl, RecordDeclclang::ast_matchers::recordDecl
 Matches class, struct, and union declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, CXXRecordDeclclang::ast_matchers::cxxRecordDecl
 Matches C++ class declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, ClassTemplateDeclclang::ast_matchers::classTemplateDecl
 Matches C++ class template declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, ClassTemplateSpecializationDeclclang::ast_matchers::classTemplateSpecializationDecl
 Matches C++ class template specializations.
const internal::VariadicDynCastAllOfMatcher< Decl, ClassTemplatePartialSpecializationDeclclang::ast_matchers::classTemplatePartialSpecializationDecl
 Matches C++ class template partial specializations.
const internal::VariadicDynCastAllOfMatcher< Decl, DeclaratorDeclclang::ast_matchers::declaratorDecl
 Matches declarator declarations (field, variable, function and non-type template parameter declarations).
const internal::VariadicDynCastAllOfMatcher< Decl, ParmVarDeclclang::ast_matchers::parmVarDecl
 Matches parameter variable declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, AccessSpecDeclclang::ast_matchers::accessSpecDecl
 Matches C++ access specifier declarations.
const internal::VariadicAllOfMatcher< CXXBaseSpecifierclang::ast_matchers::cxxBaseSpecifier
 Matches class bases.
const internal::VariadicAllOfMatcher< CXXCtorInitializerclang::ast_matchers::cxxCtorInitializer
 Matches constructor initializers.
const internal::VariadicAllOfMatcher< TemplateArgumentclang::ast_matchers::templateArgument
 Matches template arguments.
const internal::VariadicAllOfMatcher< TemplateArgumentLocclang::ast_matchers::templateArgumentLoc
 Matches template arguments (with location info).
const internal::VariadicAllOfMatcher< TemplateNameclang::ast_matchers::templateName
 Matches template name.
const internal::VariadicDynCastAllOfMatcher< Decl, NonTypeTemplateParmDeclclang::ast_matchers::nonTypeTemplateParmDecl
 Matches non-type template parameter declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, TemplateTypeParmDeclclang::ast_matchers::templateTypeParmDecl
 Matches template type parameter declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, TemplateTemplateParmDeclclang::ast_matchers::templateTemplateParmDecl
 Matches template template parameter declarations.
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCAutoreleasePoolStmtclang::ast_matchers::autoreleasePoolStmt
 Matches an Objective-C autorelease pool statement.
const internal::VariadicDynCastAllOfMatcher< Decl, ExportDeclclang::ast_matchers::exportDecl
 Matches any export declaration.
const internal::VariadicDynCastAllOfMatcher< Decl, ValueDeclclang::ast_matchers::valueDecl
 Matches any value declaration.
const internal::VariadicDynCastAllOfMatcher< Decl, CXXConstructorDeclclang::ast_matchers::cxxConstructorDecl
 Matches C++ constructor declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, CXXDestructorDeclclang::ast_matchers::cxxDestructorDecl
 Matches explicit C++ destructor declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, EnumDeclclang::ast_matchers::enumDecl
 Matches enum declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, EnumConstantDeclclang::ast_matchers::enumConstantDecl
 Matches enum constants.
const internal::VariadicDynCastAllOfMatcher< Decl, TagDeclclang::ast_matchers::tagDecl
 Matches tag declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, CXXMethodDeclclang::ast_matchers::cxxMethodDecl
 Matches method declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, CXXConversionDeclclang::ast_matchers::cxxConversionDecl
 Matches conversion operator declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, CXXDeductionGuideDeclclang::ast_matchers::cxxDeductionGuideDecl
 Matches user-defined and implicitly generated deduction guide.
const internal::VariadicDynCastAllOfMatcher< Decl, ConceptDeclclang::ast_matchers::conceptDecl
 Matches concept declarations.
const internal::VariadicDynCastAllOfMatcher< Expr, RequiresExprclang::ast_matchers::requiresExpr
 Matches concept requirement.
const internal::VariadicDynCastAllOfMatcher< Decl, RequiresExprBodyDeclclang::ast_matchers::requiresExprBodyDecl
 Matches concept requirement body declaration.
const internal::VariadicDynCastAllOfMatcher< Decl, VarDeclclang::ast_matchers::varDecl
 Matches variable declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, FieldDeclclang::ast_matchers::fieldDecl
 Matches field declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, IndirectFieldDeclclang::ast_matchers::indirectFieldDecl
 Matches indirect field declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, FunctionDeclclang::ast_matchers::functionDecl
 Matches function declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, FunctionTemplateDeclclang::ast_matchers::functionTemplateDecl
 Matches C++ function template declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, FriendDeclclang::ast_matchers::friendDecl
 Matches friend declarations.
const internal::VariadicAllOfMatcher< Stmtclang::ast_matchers::stmt
 Matches statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, DeclStmtclang::ast_matchers::declStmt
 Matches declaration statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, MemberExprclang::ast_matchers::memberExpr
 Matches member expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, UnresolvedMemberExprclang::ast_matchers::unresolvedMemberExpr
 Matches unresolved member expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXDependentScopeMemberExprclang::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, CallExprclang::ast_matchers::callExpr
 Matches call expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, LambdaExprclang::ast_matchers::lambdaExpr
 Matches lambda expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXMemberCallExprclang::ast_matchers::cxxMemberCallExpr
 Matches member call expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCMessageExprclang::ast_matchers::objcMessageExpr
 Matches ObjectiveC Message invocation expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCStringLiteralclang::ast_matchers::objcStringLiteral
 Matches ObjectiveC String literal expressions.
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCInterfaceDeclclang::ast_matchers::objcInterfaceDecl
 Matches Objective-C interface declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCImplementationDeclclang::ast_matchers::objcImplementationDecl
 Matches Objective-C implementation declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCProtocolDeclclang::ast_matchers::objcProtocolDecl
 Matches Objective-C protocol declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCCategoryDeclclang::ast_matchers::objcCategoryDecl
 Matches Objective-C category declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCCategoryImplDeclclang::ast_matchers::objcCategoryImplDecl
 Matches Objective-C category definitions.
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCMethodDeclclang::ast_matchers::objcMethodDecl
 Matches Objective-C method declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, BlockDeclclang::ast_matchers::blockDecl
 Matches block declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCIvarDeclclang::ast_matchers::objcIvarDecl
 Matches Objective-C instance variable declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, ObjCPropertyDeclclang::ast_matchers::objcPropertyDecl
 Matches Objective-C property declarations.
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCAtThrowStmtclang::ast_matchers::objcThrowStmt
 Matches Objective-C @throw statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCAtTryStmtclang::ast_matchers::objcTryStmt
 Matches Objective-C @try statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCAtCatchStmtclang::ast_matchers::objcCatchStmt
 Matches Objective-C @catch statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCAtFinallyStmtclang::ast_matchers::objcFinallyStmt
 Matches Objective-C @finally statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, ExprWithCleanupsclang::ast_matchers::exprWithCleanups
 Matches expressions that introduce cleanups to be run at the end of the sub-expression's evaluation.
const internal::VariadicDynCastAllOfMatcher< Stmt, InitListExprclang::ast_matchers::initListExpr
 Matches init list expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXStdInitializerListExprclang::ast_matchers::cxxStdInitializerListExpr
 Matches C++ initializer list expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, ImplicitValueInitExprclang::ast_matchers::implicitValueInitExpr
 Matches implicit initializers of init list expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, ParenListExprclang::ast_matchers::parenListExpr
 Matches paren list expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, SubstNonTypeTemplateParmExprclang::ast_matchers::substNonTypeTemplateParmExpr
 Matches substitutions of non-type template parameters.
const internal::VariadicDynCastAllOfMatcher< Decl, UsingDeclclang::ast_matchers::usingDecl
 Matches using declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, UsingEnumDeclclang::ast_matchers::usingEnumDecl
 Matches using-enum declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, UsingDirectiveDeclclang::ast_matchers::usingDirectiveDecl
 Matches using namespace declarations.
const internal::VariadicDynCastAllOfMatcher< Stmt, UnresolvedLookupExprclang::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, UnresolvedUsingValueDeclclang::ast_matchers::unresolvedUsingValueDecl
 Matches unresolved using value declarations.
const internal::VariadicDynCastAllOfMatcher< Decl, UnresolvedUsingTypenameDeclclang::ast_matchers::unresolvedUsingTypenameDecl
 Matches unresolved using value declarations that involve the typename.
const internal::VariadicDynCastAllOfMatcher< Stmt, ConstantExprclang::ast_matchers::constantExpr
 Matches a constant expression wrapper.
const internal::VariadicDynCastAllOfMatcher< Stmt, ParenExprclang::ast_matchers::parenExpr
 Matches parentheses used in expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXConstructExprclang::ast_matchers::cxxConstructExpr
 Matches constructor call expressions (including implicit ones).
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXUnresolvedConstructExprclang::ast_matchers::cxxUnresolvedConstructExpr
 Matches unresolved constructor call expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXThisExprclang::ast_matchers::cxxThisExpr
 Matches implicit and explicit this expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXBindTemporaryExprclang::ast_matchers::cxxBindTemporaryExpr
 Matches nodes where temporaries are created.
const internal::VariadicDynCastAllOfMatcher< Stmt, MaterializeTemporaryExprclang::ast_matchers::materializeTemporaryExpr
 Matches nodes where temporaries are materialized.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXNewExprclang::ast_matchers::cxxNewExpr
 Matches new expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXDeleteExprclang::ast_matchers::cxxDeleteExpr
 Matches delete expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXNoexceptExprclang::ast_matchers::cxxNoexceptExpr
 Matches noexcept expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, ArrayInitLoopExprclang::ast_matchers::arrayInitLoopExpr
 Matches a loop initializing the elements of an array in a number of contexts:
const internal::VariadicDynCastAllOfMatcher< Stmt, ArrayInitIndexExprclang::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, ArraySubscriptExprclang::ast_matchers::arraySubscriptExpr
 Matches array subscript expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXDefaultArgExprclang::ast_matchers::cxxDefaultArgExpr
 Matches the value of a default argument at the call site.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXOperatorCallExprclang::ast_matchers::cxxOperatorCallExpr
 Matches overloaded operator calls.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXFoldExprclang::ast_matchers::cxxFoldExpr
 Matches C++17 fold expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXRewrittenBinaryOperatorclang::ast_matchers::cxxRewrittenBinaryOperator
 Matches rewritten binary operators.
const internal::VariadicDynCastAllOfMatcher< Stmt, Exprclang::ast_matchers::expr
 Matches expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, DeclRefExprclang::ast_matchers::declRefExpr
 Matches expressions that refer to declarations.
const internal::VariadicDynCastAllOfMatcher< Stmt, DependentScopeDeclRefExprclang::ast_matchers::dependentScopeDeclRefExpr
 Matches expressions that refer to dependent scope declarations.
const internal::VariadicDynCastAllOfMatcher< Stmt, ObjCIvarRefExprclang::ast_matchers::objcIvarRefExpr
 Matches a reference to an ObjCIvar.
const internal::VariadicDynCastAllOfMatcher< Stmt, BlockExprclang::ast_matchers::blockExpr
 Matches a reference to a block.
const internal::VariadicDynCastAllOfMatcher< Stmt, IfStmtclang::ast_matchers::ifStmt
 Matches if statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, ForStmtclang::ast_matchers::forStmt
 Matches for statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXForRangeStmtclang::ast_matchers::cxxForRangeStmt
 Matches range-based for statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, WhileStmtclang::ast_matchers::whileStmt
 Matches while statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, DoStmtclang::ast_matchers::doStmt
 Matches do statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, BreakStmtclang::ast_matchers::breakStmt
 Matches break statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, ContinueStmtclang::ast_matchers::continueStmt
 Matches continue statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, CoreturnStmtclang::ast_matchers::coreturnStmt
 Matches co_return statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, ReturnStmtclang::ast_matchers::returnStmt
 Matches return statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, GotoStmtclang::ast_matchers::gotoStmt
 Matches goto statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, LabelStmtclang::ast_matchers::labelStmt
 Matches label statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, AddrLabelExprclang::ast_matchers::addrLabelExpr
 Matches address of label statements (GNU extension).
const internal::VariadicDynCastAllOfMatcher< Stmt, SwitchStmtclang::ast_matchers::switchStmt
 Matches switch statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, SwitchCaseclang::ast_matchers::switchCase
 Matches case and default statements inside switch statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, CaseStmtclang::ast_matchers::caseStmt
 Matches case statements inside switch statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, DefaultStmtclang::ast_matchers::defaultStmt
 Matches default statements inside switch statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, CompoundStmtclang::ast_matchers::compoundStmt
 Matches compound statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXCatchStmtclang::ast_matchers::cxxCatchStmt
 Matches catch statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXTryStmtclang::ast_matchers::cxxTryStmt
 Matches try statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXThrowExprclang::ast_matchers::cxxThrowExpr
 Matches throw expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, NullStmtclang::ast_matchers::nullStmt
 Matches null statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, AsmStmtclang::ast_matchers::asmStmt
 Matches asm statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXBoolLiteralExprclang::ast_matchers::cxxBoolLiteral
 Matches bool literals.
const internal::VariadicDynCastAllOfMatcher< Stmt, StringLiteralclang::ast_matchers::stringLiteral
 Matches string literals (also matches wide string literals).
const internal::VariadicDynCastAllOfMatcher< Stmt, CharacterLiteralclang::ast_matchers::characterLiteral
 Matches character literals (also matches wchar_t).
const internal::VariadicDynCastAllOfMatcher< Stmt, IntegerLiteralclang::ast_matchers::integerLiteral
 Matches integer literals of all sizes / encodings, e.g.
const internal::VariadicDynCastAllOfMatcher< Stmt, FloatingLiteralclang::ast_matchers::floatLiteral
 Matches float literals of all sizes / encodings, e.g.
const internal::VariadicDynCastAllOfMatcher< Stmt, ImaginaryLiteralclang::ast_matchers::imaginaryLiteral
 Matches imaginary literals, which are based on integer and floating point literals e.g.: 1i, 1.0i.
const internal::VariadicDynCastAllOfMatcher< Stmt, FixedPointLiteralclang::ast_matchers::fixedPointLiteral
 Matches fixed-point literals eg.
const internal::VariadicDynCastAllOfMatcher< Stmt, UserDefinedLiteralclang::ast_matchers::userDefinedLiteral
 Matches user defined literal operator call.
const internal::VariadicDynCastAllOfMatcher< Stmt, CompoundLiteralExprclang::ast_matchers::compoundLiteralExpr
 Matches compound (i.e.
const internal::VariadicDynCastAllOfMatcher< Stmt, CoawaitExprclang::ast_matchers::coawaitExpr
 Matches co_await expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, DependentCoawaitExprclang::ast_matchers::dependentCoawaitExpr
 Matches co_await expressions where the type of the promise is dependent.
const internal::VariadicDynCastAllOfMatcher< Stmt, CoyieldExprclang::ast_matchers::coyieldExpr
 Matches co_yield expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, CoroutineBodyStmtclang::ast_matchers::coroutineBodyStmt
 Matches coroutine body statements.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXNullPtrLiteralExprclang::ast_matchers::cxxNullPtrLiteralExpr
 Matches nullptr literal.
const internal::VariadicDynCastAllOfMatcher< Stmt, ChooseExprclang::ast_matchers::chooseExpr
 Matches GNU __builtin_choose_expr.
const internal::VariadicDynCastAllOfMatcher< Stmt, ConvertVectorExprclang::ast_matchers::convertVectorExpr
 Matches builtin function __builtin_convertvector.
const internal::VariadicDynCastAllOfMatcher< Stmt, GNUNullExprclang::ast_matchers::gnuNullExpr
 Matches GNU __null expression.
const internal::VariadicDynCastAllOfMatcher< Stmt, GenericSelectionExprclang::ast_matchers::genericSelectionExpr
 Matches C11 _Generic expression.
const internal::VariadicDynCastAllOfMatcher< Stmt, AtomicExprclang::ast_matchers::atomicExpr
 Matches atomic builtins.
const internal::VariadicDynCastAllOfMatcher< Stmt, StmtExprclang::ast_matchers::stmtExpr
 Matches statement expression (GNU extension).
const internal::VariadicDynCastAllOfMatcher< Stmt, BinaryOperatorclang::ast_matchers::binaryOperator
 Matches binary operator expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, UnaryOperatorclang::ast_matchers::unaryOperator
 Matches unary operator expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, ConditionalOperatorclang::ast_matchers::conditionalOperator
 Matches conditional operator expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, BinaryConditionalOperatorclang::ast_matchers::binaryConditionalOperator
 Matches binary conditional operator expressions (GNU extension).
const internal::VariadicDynCastAllOfMatcher< Stmt, OpaqueValueExprclang::ast_matchers::opaqueValueExpr
 Matches opaque value expressions.
const internal::VariadicDynCastAllOfMatcher< Decl, StaticAssertDeclclang::ast_matchers::staticAssertDecl
 Matches a C++ static_assert declaration.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXReinterpretCastExprclang::ast_matchers::cxxReinterpretCastExpr
 Matches a reinterpret_cast expression.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXStaticCastExprclang::ast_matchers::cxxStaticCastExpr
 Matches a C++ static_cast expression.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXDynamicCastExprclang::ast_matchers::cxxDynamicCastExpr
 Matches a dynamic_cast expression.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXConstCastExprclang::ast_matchers::cxxConstCastExpr
 Matches a const_cast expression.
const internal::VariadicDynCastAllOfMatcher< Stmt, CStyleCastExprclang::ast_matchers::cStyleCastExpr
 Matches a C-style cast expression.
const internal::VariadicDynCastAllOfMatcher< Stmt, ExplicitCastExprclang::ast_matchers::explicitCastExpr
 Matches explicit cast expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, ImplicitCastExprclang::ast_matchers::implicitCastExpr
 Matches the implicit cast nodes of Clang's AST.
const internal::VariadicDynCastAllOfMatcher< Stmt, CastExprclang::ast_matchers::castExpr
 Matches any cast nodes of Clang's AST.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXFunctionalCastExprclang::ast_matchers::cxxFunctionalCastExpr
 Matches functional cast expressions.
const internal::VariadicDynCastAllOfMatcher< Stmt, CXXTemporaryObjectExprclang::ast_matchers::cxxTemporaryObjectExpr
 Matches functional cast expressions having N != 1 arguments.
const internal::VariadicDynCastAllOfMatcher< Stmt, PredefinedExprclang::ast_matchers::predefinedExpr
 Matches predefined identifier expressions [C99 6.4.2.2].
const internal::VariadicDynCastAllOfMatcher< Stmt, DesignatedInitExprclang::ast_matchers::designatedInitExpr
 Matches C99 designated initializer expressions [C99 6.7.8].
const internal::VariadicAllOfMatcher< QualTypeclang::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< TypeLocclang::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, UnaryExprOrTypeTraitExprclang::ast_matchers::unaryExprOrTypeTraitExpr
 Matches sizeof (C99), alignof (C++11) and vec_step (OpenCL)
const internal::MapAnyOfMatcher< BinaryOperator, CXXOperatorCallExpr, CXXRewrittenBinaryOperatorclang::ast_matchers::binaryOperation
 Matches nodes which can be used with binary operators.
const internal::MapAnyOfMatcher< CallExpr, CXXConstructExprclang::ast_matchers::invocation
 Matches function calls and constructor calls.
const internal::VariadicFunction< internal::Matcher< NamedDecl >, StringRef, internal::hasAnyNameFuncclang::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::hasAnyOverloadedOperatorNameFuncclang::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::hasAnySelectorFuncclang::ast_matchers::hasAnySelector = {}
 Matches when at least one of the supplied string equals to the Selector.getAsString()
const internal::VariadicAllOfMatcher< LambdaCaptureclang::ast_matchers::lambdaCapture
 Matches lambda captures.