clang 20.0.0git
|
Public Types | |
typedef RecursiveASTVisitor< MatchDescendantVisitor > | VisitorBase |
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 > | |
MatchDescendantVisitor & | getDerived () |
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) |
Definition at line 84 of file UnsafeBufferUsage.cpp.
typedef RecursiveASTVisitor<MatchDescendantVisitor> clang::ast_matchers::MatchDescendantVisitor::VisitorBase |
Definition at line 87 of file UnsafeBufferUsage.cpp.
|
inline |
Definition at line 92 of file UnsafeBufferUsage.cpp.
|
inline |
Definition at line 102 of file UnsafeBufferUsage.cpp.
References clang::DynTypedNode::get(), and TraverseStmt().
Referenced by clang::ast_matchers::AST_MATCHER_P().
|
inline |
Definition at line 182 of file UnsafeBufferUsage.cpp.
|
inline |
Definition at line 181 of file UnsafeBufferUsage.cpp.
|
inline |
Definition at line 159 of file UnsafeBufferUsage.cpp.
References Node.
|
inline |
Definition at line 166 of file UnsafeBufferUsage.cpp.
References Node.
Definition at line 119 of file UnsafeBufferUsage.cpp.
References Node, and clang::RecursiveASTVisitor< MatchDescendantVisitor >::TraverseDecl().
|
inline |
Definition at line 152 of file UnsafeBufferUsage.cpp.
References Node.
|
inline |
Definition at line 131 of file UnsafeBufferUsage.cpp.
References Node, and TraverseStmt().
|
inline |
Definition at line 173 of file UnsafeBufferUsage.cpp.
References Node, and clang::RecursiveASTVisitor< MatchDescendantVisitor >::TraverseStmt().
Referenced by findMatch(), and TraverseGenericSelectionExpr().
|
inline |
Definition at line 145 of file UnsafeBufferUsage.cpp.
References Node.
|
inline |
Definition at line 138 of file UnsafeBufferUsage.cpp.
References Node.