clang 20.0.0git
Public Types | Public Member Functions | List of all members
clang::ast_matchers::MatchDescendantVisitor Class Reference
Inheritance diagram for clang::ast_matchers::MatchDescendantVisitor:
Inheritance graph
[legend]

Public Types

typedef RecursiveASTVisitor< MatchDescendantVisitorVisitorBase
 
- Public Types inherited from clang::RecursiveASTVisitor< MatchDescendantVisitor >
typedef SmallVectorImpl< llvm::PointerIntPair< Stmt *, 1, bool > > DataRecursionQueue
 A queue used for performing data recursion over statements.
 

Public Member Functions

 MatchDescendantVisitor (const internal::DynTypedMatcher *Matcher, internal::ASTMatchFinder *Finder, internal::BoundNodesTreeBuilder *Builder, internal::ASTMatchFinder::BindKind Bind, const bool ignoreUnevaluatedContext)
 
bool findMatch (const DynTypedNode &DynNode)
 
bool TraverseDecl (Decl *Node)
 
bool TraverseGenericSelectionExpr (GenericSelectionExpr *Node)
 
bool TraverseUnaryExprOrTypeTraitExpr (UnaryExprOrTypeTraitExpr *Node)
 
bool TraverseTypeOfExprTypeLoc (TypeOfExprTypeLoc Node)
 
bool TraverseDecltypeTypeLoc (DecltypeTypeLoc Node)
 
bool TraverseCXXNoexceptExpr (CXXNoexceptExpr *Node)
 
bool TraverseCXXTypeidExpr (CXXTypeidExpr *Node)
 
bool TraverseStmt (Stmt *Node, DataRecursionQueue *Queue=nullptr)
 
bool shouldVisitTemplateInstantiations () const
 
bool shouldVisitImplicitCode () const
 
- Public Member Functions inherited from clang::RecursiveASTVisitor< MatchDescendantVisitor >
MatchDescendantVisitorgetDerived ()
 Return a reference to the derived class.
 
bool shouldVisitTemplateInstantiations () const
 Return whether this visitor should recurse into template instantiations.
 
bool shouldWalkTypesOfTypeLocs () const
 Return whether this visitor should recurse into the types of TypeLocs.
 
bool shouldVisitImplicitCode () const
 Return whether this visitor should recurse into implicit code, e.g., implicit constructors and destructors.
 
bool shouldVisitLambdaBody () const
 Return whether this visitor should recurse into lambda body.
 
bool shouldTraversePostOrder () const
 Return whether this visitor should traverse post-order.
 
bool TraverseAST (ASTContext &AST)
 Recursively visits an entire AST, starting from the TranslationUnitDecl.
 
bool TraverseStmt (Stmt *S, DataRecursionQueue *Queue=nullptr)
 Recursively visit a statement or expression, by dispatching to Traverse*() based on the argument's dynamic type.
 
bool dataTraverseStmtPre (Stmt *S)
 Invoked before visiting a statement or expression via data recursion.
 
bool dataTraverseStmtPost (Stmt *S)
 Invoked after visiting a statement or expression via data recursion.
 
bool TraverseType (QualType T)
 Recursively visit a type, by dispatching to Traverse*Type() based on the argument's getTypeClass() property.
 
bool TraverseTypeLoc (TypeLoc TL)
 Recursively visit a type with location, by dispatching to Traverse*TypeLoc() based on the argument type's getTypeClass() property.
 
bool TraverseAttr (Attr *At)
 Recursively visit an attribute, by dispatching to Traverse*Attr() based on the argument's dynamic type.
 
bool TraverseDecl (Decl *D)
 Recursively visit a declaration, by dispatching to Traverse*Decl() based on the argument's dynamic type.
 
bool TraverseNestedNameSpecifier (NestedNameSpecifier *NNS)
 Recursively visit a C++ nested-name-specifier.
 
bool TraverseNestedNameSpecifierLoc (NestedNameSpecifierLoc NNS)
 Recursively visit a C++ nested-name-specifier with location information.
 
bool TraverseDeclarationNameInfo (DeclarationNameInfo NameInfo)
 Recursively visit a name with its location information.
 
bool TraverseTemplateName (TemplateName Template)
 Recursively visit a template name and dispatch to the appropriate method.
 
bool TraverseTemplateArgument (const TemplateArgument &Arg)
 Recursively visit a template argument and dispatch to the appropriate method for the argument type.
 
bool TraverseTemplateArgumentLoc (const TemplateArgumentLoc &ArgLoc)
 Recursively visit a template argument location and dispatch to the appropriate method for the argument type.
 
bool TraverseTemplateArguments (ArrayRef< TemplateArgument > Args)
 Recursively visit a set of template arguments.
 
bool TraverseCXXBaseSpecifier (const CXXBaseSpecifier &Base)
 Recursively visit a base specifier.
 
bool TraverseConstructorInitializer (CXXCtorInitializer *Init)
 Recursively visit a constructor initializer.
 
bool TraverseLambdaCapture (LambdaExpr *LE, const LambdaCapture *C, Expr *Init)
 Recursively visit a lambda capture.
 
bool TraverseSynOrSemInitListExpr (InitListExpr *S, DataRecursionQueue *Queue=nullptr)
 Recursively visit the syntactic or semantic form of an initialization list.
 
bool TraverseObjCProtocolLoc (ObjCProtocolLoc ProtocolLoc)
 Recursively visit an Objective-C protocol reference with location information.
 
bool TraverseConceptReference (ConceptReference *CR)
 Recursively visit concept reference with location information.
 
bool VisitConceptReference (ConceptReference *CR)
 
bool VisitAttr (Attr *A)
 
Stmt::child_range getStmtChildren (Stmt *S)
 
bool WalkUpFromStmt (Stmt *S)
 
bool VisitStmt (Stmt *S)
 
bool WalkUpFromType (Type *T)
 
bool VisitType (Type *T)
 
bool WalkUpFromTypeLoc (TypeLoc TL)
 
bool VisitTypeLoc (TypeLoc TL)
 
bool WalkUpFromQualifiedTypeLoc (QualifiedTypeLoc TL)
 
bool VisitQualifiedTypeLoc (QualifiedTypeLoc TL)
 
bool WalkUpFromUnqualTypeLoc (UnqualTypeLoc TL)
 
bool VisitUnqualTypeLoc (UnqualTypeLoc TL)
 
bool WalkUpFromDecl (Decl *D)
 
bool VisitDecl (Decl *D)
 
bool canIgnoreChildDeclWhileTraversingDeclContext (const Decl *Child)
 
bool TraverseTypeConstraint (const TypeConstraint *C)
 
bool TraverseConceptRequirement (concepts::Requirement *R)
 
bool TraverseConceptTypeRequirement (concepts::TypeRequirement *R)
 
bool TraverseConceptExprRequirement (concepts::ExprRequirement *R)
 
bool TraverseConceptNestedRequirement (concepts::NestedRequirement *R)
 
bool dataTraverseNode (Stmt *S, DataRecursionQueue *Queue)
 

Detailed Description

Definition at line 84 of file UnsafeBufferUsage.cpp.

Member Typedef Documentation

◆ VisitorBase

Definition at line 87 of file UnsafeBufferUsage.cpp.

Constructor & Destructor Documentation

◆ MatchDescendantVisitor()

clang::ast_matchers::MatchDescendantVisitor::MatchDescendantVisitor ( const internal::DynTypedMatcher *  Matcher,
internal::ASTMatchFinder *  Finder,
internal::BoundNodesTreeBuilder *  Builder,
internal::ASTMatchFinder::BindKind  Bind,
const bool  ignoreUnevaluatedContext 
)
inline

Definition at line 92 of file UnsafeBufferUsage.cpp.

Member Function Documentation

◆ findMatch()

bool clang::ast_matchers::MatchDescendantVisitor::findMatch ( const DynTypedNode DynNode)
inline

◆ shouldVisitImplicitCode()

bool clang::ast_matchers::MatchDescendantVisitor::shouldVisitImplicitCode ( ) const
inline

Definition at line 182 of file UnsafeBufferUsage.cpp.

◆ shouldVisitTemplateInstantiations()

bool clang::ast_matchers::MatchDescendantVisitor::shouldVisitTemplateInstantiations ( ) const
inline

Definition at line 181 of file UnsafeBufferUsage.cpp.

◆ TraverseCXXNoexceptExpr()

bool clang::ast_matchers::MatchDescendantVisitor::TraverseCXXNoexceptExpr ( CXXNoexceptExpr Node)
inline

Definition at line 159 of file UnsafeBufferUsage.cpp.

References Node.

◆ TraverseCXXTypeidExpr()

bool clang::ast_matchers::MatchDescendantVisitor::TraverseCXXTypeidExpr ( CXXTypeidExpr Node)
inline

Definition at line 166 of file UnsafeBufferUsage.cpp.

References Node.

◆ TraverseDecl()

bool clang::ast_matchers::MatchDescendantVisitor::TraverseDecl ( Decl Node)
inline

◆ TraverseDecltypeTypeLoc()

bool clang::ast_matchers::MatchDescendantVisitor::TraverseDecltypeTypeLoc ( DecltypeTypeLoc  Node)
inline

Definition at line 152 of file UnsafeBufferUsage.cpp.

References Node.

◆ TraverseGenericSelectionExpr()

bool clang::ast_matchers::MatchDescendantVisitor::TraverseGenericSelectionExpr ( GenericSelectionExpr Node)
inline

Definition at line 131 of file UnsafeBufferUsage.cpp.

References Node, and TraverseStmt().

◆ TraverseStmt()

bool clang::ast_matchers::MatchDescendantVisitor::TraverseStmt ( Stmt Node,
DataRecursionQueue Queue = nullptr 
)
inline

◆ TraverseTypeOfExprTypeLoc()

bool clang::ast_matchers::MatchDescendantVisitor::TraverseTypeOfExprTypeLoc ( TypeOfExprTypeLoc  Node)
inline

Definition at line 145 of file UnsafeBufferUsage.cpp.

References Node.

◆ TraverseUnaryExprOrTypeTraitExpr()

bool clang::ast_matchers::MatchDescendantVisitor::TraverseUnaryExprOrTypeTraitExpr ( UnaryExprOrTypeTraitExpr Node)
inline

Definition at line 138 of file UnsafeBufferUsage.cpp.

References Node.


The documentation for this class was generated from the following file: