clang 22.0.0git
MatchDescendantVisitor Class Reference
Inheritance diagram for MatchDescendantVisitor:
[legend]

Public Member Functions

 MatchDescendantVisitor (ASTContext &Context, FastMatcher &Matcher, bool FindAll, bool ignoreUnevaluatedContext, const UnsafeBufferUsageHandler &NewHandler)
bool findMatch (const DynTypedNode &DynNode)
bool TraverseDecl (Decl *Node) override
bool TraverseGenericSelectionExpr (GenericSelectionExpr *Node) override
bool TraverseUnaryExprOrTypeTraitExpr (UnaryExprOrTypeTraitExpr *Node) override
bool TraverseTypeOfExprTypeLoc (TypeOfExprTypeLoc Node, bool TraverseQualifier) override
bool TraverseDecltypeTypeLoc (DecltypeTypeLoc Node, bool TraverseQualifier) override
bool TraverseCXXNoexceptExpr (CXXNoexceptExpr *Node) override
bool TraverseCXXTypeidExpr (CXXTypeidExpr *Node) override
bool TraverseCXXDefaultInitExpr (CXXDefaultInitExpr *Node) override
bool TraverseStmt (Stmt *Node) override
Public Member Functions inherited from clang::DynamicRecursiveASTVisitorBase< false >
virtual void anchor ()
virtual ~DynamicRecursiveASTVisitorBase ()=default
virtual bool TraverseAST (MaybeConst< ASTContext > &AST)
 Recursively visits an entire AST, starting from the TranslationUnitDecl.
virtual bool TraverseAttr (MaybeConst< Attr > *At)
 Recursively visit an attribute, by dispatching to Traverse*Attr() based on the argument's dynamic type.
virtual bool TraverseConstructorInitializer (MaybeConst< CXXCtorInitializer > *Init)
 Recursively visit a constructor initializer.
virtual bool TraverseCXXBaseSpecifier (const CXXBaseSpecifier &Base)
 Recursively visit a base specifier.
virtual bool TraverseDecl (MaybeConst< Decl > *D)
 Recursively visit a declaration, by dispatching to Traverse*Decl() based on the argument's dynamic type.
virtual bool TraverseDeclarationNameInfo (DeclarationNameInfo NameInfo)
 Recursively visit a name with its location information.
virtual bool TraverseLambdaCapture (MaybeConst< LambdaExpr > *LE, const LambdaCapture *C, MaybeConst< Expr > *Init)
 Recursively visit a lambda capture.
virtual bool TraverseNestedNameSpecifier (NestedNameSpecifier NNS)
 Recursively visit a C++ nested-name-specifier.
virtual bool TraverseNestedNameSpecifierLoc (NestedNameSpecifierLoc NNS)
 Recursively visit a C++ nested-name-specifier with location information.
virtual bool TraverseStmt (MaybeConst< Stmt > *S)
 Recursively visit a statement or expression, by dispatching to Traverse*() based on the argument's dynamic type.
virtual bool TraverseTemplateArgument (const TemplateArgument &Arg)
 Recursively visit a template argument and dispatch to the appropriate method for the argument type.
virtual 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.
virtual bool TraverseTemplateName (TemplateName Template)
 Recursively visit a template name and dispatch to the appropriate method.
virtual bool TraverseType (QualType T, bool TraverseQualifier=true)
 Recursively visit a type, by dispatching to Traverse*Type() based on the argument's getTypeClass() property.
virtual bool TraverseTypeLoc (TypeLoc TL, bool TraverseQualifier=true)
 Recursively visit a type with location, by dispatching to Traverse*TypeLoc() based on the argument type's getTypeClass() property.
virtual bool TraverseObjCProtocolLoc (ObjCProtocolLoc ProtocolLoc)
 Recursively visit an Objective-C protocol reference with location information.
virtual bool TraverseTypeConstraint (const TypeConstraint *C)
 Traverse a concept (requirement).
virtual bool TraverseConceptRequirement (MaybeConst< concepts::Requirement > *R)
virtual bool TraverseConceptTypeRequirement (MaybeConst< concepts::TypeRequirement > *R)
virtual bool TraverseConceptExprRequirement (MaybeConst< concepts::ExprRequirement > *R)
virtual bool TraverseConceptNestedRequirement (MaybeConst< concepts::NestedRequirement > *R)
virtual bool TraverseConceptReference (MaybeConst< ConceptReference > *CR)
virtual bool VisitConceptReference (MaybeConst< ConceptReference > *CR)
virtual bool VisitAttr (MaybeConst< Attr > *A)
 Visit a node.
virtual bool VisitDecl (MaybeConst< Decl > *D)
virtual bool VisitStmt (MaybeConst< Stmt > *S)
virtual bool VisitType (MaybeConst< Type > *T)
virtual bool VisitTypeLoc (TypeLoc TL)
bool WalkUpFromDecl (MaybeConst< Decl > *D)
 Walk up from a node.
bool WalkUpFromStmt (MaybeConst< Stmt > *S)
bool WalkUpFromType (MaybeConst< Type > *T)
bool WalkUpFromTypeLoc (TypeLoc TL)
virtual bool dataTraverseStmtPre (MaybeConst< Stmt > *S)
 Invoked before visiting a statement or expression via data recursion.
virtual bool dataTraverseStmtPost (MaybeConst< Stmt > *S)
 Invoked after visiting a statement or expression via data recursion.
virtual bool dataTraverseNode (MaybeConst< Stmt > *S)

Additional Inherited Members

Public Attributes inherited from clang::DynamicRecursiveASTVisitorBase< false >
bool ShouldVisitTemplateInstantiations
 Whether this visitor should recurse into template instantiations.
bool ShouldWalkTypesOfTypeLocs
 Whether this visitor should recurse into the types of TypeLocs.
bool ShouldVisitImplicitCode
 Whether this visitor should recurse into implicit code, e.g.
bool ShouldVisitLambdaBody
 Whether this visitor should recurse into lambda body.
Protected Types inherited from clang::DynamicRecursiveASTVisitorBase< false >
using MaybeConst
Protected Member Functions inherited from clang::DynamicRecursiveASTVisitorBase< false >
 DynamicRecursiveASTVisitorBase ()=default
 DynamicRecursiveASTVisitorBase (DynamicRecursiveASTVisitorBase &&)=default
 DynamicRecursiveASTVisitorBase (const DynamicRecursiveASTVisitorBase &)=default
DynamicRecursiveASTVisitorBaseoperator= (DynamicRecursiveASTVisitorBase &&)=default
DynamicRecursiveASTVisitorBaseoperator= (const DynamicRecursiveASTVisitorBase &)=default

Detailed Description

Definition at line 125 of file UnsafeBufferUsage.cpp.

Constructor & Destructor Documentation

◆ MatchDescendantVisitor()

MatchDescendantVisitor::MatchDescendantVisitor ( ASTContext & Context,
FastMatcher & Matcher,
bool FindAll,
bool ignoreUnevaluatedContext,
const UnsafeBufferUsageHandler & NewHandler )
inline

Member Function Documentation

◆ findMatch()

bool MatchDescendantVisitor::findMatch ( const DynTypedNode & DynNode)
inline

◆ TraverseCXXDefaultInitExpr()

bool MatchDescendantVisitor::TraverseCXXDefaultInitExpr ( CXXDefaultInitExpr * Node)
inlineoverride

Definition at line 217 of file UnsafeBufferUsage.cpp.

References clang::CXXDefaultInitExpr::getExpr(), and TraverseStmt().

◆ TraverseCXXNoexceptExpr()

bool MatchDescendantVisitor::TraverseCXXNoexceptExpr ( CXXNoexceptExpr * Node)
inlineoverride

Definition at line 203 of file UnsafeBufferUsage.cpp.

◆ TraverseCXXTypeidExpr()

bool MatchDescendantVisitor::TraverseCXXTypeidExpr ( CXXTypeidExpr * Node)
inlineoverride

Definition at line 210 of file UnsafeBufferUsage.cpp.

◆ TraverseDecl()

bool MatchDescendantVisitor::TraverseDecl ( Decl * Node)
inlineoverride

◆ TraverseDecltypeTypeLoc()

bool MatchDescendantVisitor::TraverseDecltypeTypeLoc ( DecltypeTypeLoc Node,
bool TraverseQualifier )
inlineoverride

Definition at line 194 of file UnsafeBufferUsage.cpp.

◆ TraverseGenericSelectionExpr()

bool MatchDescendantVisitor::TraverseGenericSelectionExpr ( GenericSelectionExpr * Node)
inlineoverride

◆ TraverseStmt()

bool MatchDescendantVisitor::TraverseStmt ( Stmt * Node)
inlineoverride

◆ TraverseTypeOfExprTypeLoc()

bool MatchDescendantVisitor::TraverseTypeOfExprTypeLoc ( TypeOfExprTypeLoc Node,
bool TraverseQualifier )
inlineoverride

Definition at line 185 of file UnsafeBufferUsage.cpp.

◆ TraverseUnaryExprOrTypeTraitExpr()

bool MatchDescendantVisitor::TraverseUnaryExprOrTypeTraitExpr ( UnaryExprOrTypeTraitExpr * Node)
inlineoverride

Definition at line 178 of file UnsafeBufferUsage.cpp.


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