clang 22.0.0git
|
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) |
Definition at line 125 of file UnsafeBufferUsage.cpp.
|
inline |
Definition at line 130 of file UnsafeBufferUsage.cpp.
References false, clang::DynamicRecursiveASTVisitorBase< false >::ShouldVisitImplicitCode, and clang::DynamicRecursiveASTVisitorBase< false >::ShouldVisitTemplateInstantiations.
|
inline |
Definition at line 142 of file UnsafeBufferUsage.cpp.
References clang::DynTypedNode::get(), and TraverseStmt().
Referenced by forEachDescendantEvaluatedStmt(), and forEachDescendantStmt().
|
inlineoverride |
Definition at line 217 of file UnsafeBufferUsage.cpp.
References clang::CXXDefaultInitExpr::getExpr(), and TraverseStmt().
|
inlineoverride |
Definition at line 203 of file UnsafeBufferUsage.cpp.
|
inlineoverride |
Definition at line 210 of file UnsafeBufferUsage.cpp.
Definition at line 158 of file UnsafeBufferUsage.cpp.
References clang::isa(), and clang::DynamicRecursiveASTVisitorBase< false >::TraverseDecl().
|
inlineoverride |
Definition at line 194 of file UnsafeBufferUsage.cpp.
|
inlineoverride |
Definition at line 170 of file UnsafeBufferUsage.cpp.
References clang::GenericSelectionExpr::getResultExpr(), and TraverseStmt().
Definition at line 223 of file UnsafeBufferUsage.cpp.
References clang::DynamicRecursiveASTVisitorBase< false >::TraverseStmt().
Referenced by findMatch(), TraverseCXXDefaultInitExpr(), and TraverseGenericSelectionExpr().
|
inlineoverride |
Definition at line 185 of file UnsafeBufferUsage.cpp.
|
inlineoverride |
Definition at line 178 of file UnsafeBufferUsage.cpp.