|
bool | shouldVisitImplicitCode () |
|
bool | shouldVisitLambdaBody () const |
|
bool | TraverseDecl (Decl *D) |
|
bool | TraverseDecltypeTypeLoc (DecltypeTypeLoc) |
|
bool | TraverseTypeOfExprTypeLoc (TypeOfExprTypeLoc) |
|
bool | TraverseCXXTypeidExpr (CXXTypeidExpr *TIE) |
|
bool | TraverseUnaryExprOrTypeTraitExpr (UnaryExprOrTypeTraitExpr *) |
|
bool | TraverseBindingDecl (BindingDecl *BD) |
|
Derived & | 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) |
|
template<class Derived>
class clang::dataflow::AnalysisASTVisitor< Derived >
Specialization of RecursiveASTVisitor
that visits those nodes that are relevant to the dataflow analysis; generally, these are the ones that also appear in the CFG.
To start the traversal, call TraverseStmt()
on the statement or body of the function to analyze. Don't call TraverseDecl()
on the function itself; this won't work as TraverseDecl()
contains code to avoid traversing nested functions.
Definition at line 92 of file ASTOps.h.