clang
7.0.0
|
Traverses the AST and visits the occurrence of each named symbol in the given nodes. More...
#include "clang/Tooling/Refactoring/RecursiveSymbolVisitor.h"
Public Member Functions | |
RecursiveSymbolVisitor (const SourceManager &SM, const LangOptions &LangOpts) | |
bool | visitSymbolOccurrence (const NamedDecl *ND, ArrayRef< SourceRange > NameRanges) |
bool | VisitNamedDecl (const NamedDecl *D) |
bool | VisitCXXConstructorDecl (const CXXConstructorDecl *CD) |
bool | VisitDeclRefExpr (const DeclRefExpr *Expr) |
bool | VisitMemberExpr (const MemberExpr *Expr) |
bool | VisitOffsetOfExpr (const OffsetOfExpr *S) |
bool | VisitTypeLoc (const TypeLoc Loc) |
bool | TraverseNestedNameSpecifierLoc (NestedNameSpecifierLoc NNS) |
![]() | |
RecursiveSymbolVisitor< T > & | getDerived () |
Return a reference to the derived class. More... | |
bool | shouldVisitTemplateInstantiations () const |
Return whether this visitor should recurse into template instantiations. More... | |
bool | shouldWalkTypesOfTypeLocs () const |
Return whether this visitor should recurse into the types of TypeLocs. More... | |
bool | shouldVisitImplicitCode () const |
Return whether this visitor should recurse into implicit code, e.g., implicit constructors and destructors. More... | |
bool | shouldTraversePostOrder () const |
Return whether this visitor should traverse post-order. More... | |
bool | TraverseStmt (Stmt *S, DataRecursionQueue *Queue=nullptr) |
Recursively visit a statement or expression, by dispatching to Traverse*() based on the argument's dynamic type. More... | |
bool | dataTraverseStmtPre (Stmt *S) |
Invoked before visiting a statement or expression via data recursion. More... | |
bool | dataTraverseStmtPost (Stmt *S) |
Invoked after visiting a statement or expression via data recursion. More... | |
bool | TraverseType (QualType T) |
Recursively visit a type, by dispatching to Traverse*Type() based on the argument's getTypeClass() property. More... | |
bool | TraverseTypeLoc (TypeLoc TL) |
Recursively visit a type with location, by dispatching to Traverse*TypeLoc() based on the argument type's getTypeClass() property. More... | |
bool | TraverseAttr (Attr *At) |
Recursively visit an attribute, by dispatching to Traverse*Attr() based on the argument's dynamic type. More... | |
bool | TraverseDecl (Decl *D) |
Recursively visit a declaration, by dispatching to Traverse*Decl() based on the argument's dynamic type. More... | |
bool | TraverseNestedNameSpecifier (NestedNameSpecifier *NNS) |
Recursively visit a C++ nested-name-specifier. More... | |
bool | TraverseNestedNameSpecifierLoc (NestedNameSpecifierLoc NNS) |
Recursively visit a C++ nested-name-specifier with location information. More... | |
bool | TraverseDeclarationNameInfo (DeclarationNameInfo NameInfo) |
Recursively visit a name with its location information. More... | |
bool | TraverseTemplateName (TemplateName Template) |
Recursively visit a template name and dispatch to the appropriate method. More... | |
bool | TraverseTemplateArgument (const TemplateArgument &Arg) |
Recursively visit a template argument and dispatch to the appropriate method for the argument type. More... | |
bool | TraverseTemplateArgumentLoc (const TemplateArgumentLoc &ArgLoc) |
Recursively visit a template argument location and dispatch to the appropriate method for the argument type. More... | |
bool | TraverseTemplateArguments (const TemplateArgument *Args, unsigned NumArgs) |
Recursively visit a set of template arguments. More... | |
bool | TraverseCXXBaseSpecifier (const CXXBaseSpecifier &Base) |
Recursively visit a base specifier. More... | |
bool | TraverseConstructorInitializer (CXXCtorInitializer *Init) |
Recursively visit a constructor initializer. More... | |
bool | TraverseLambdaCapture (LambdaExpr *LE, const LambdaCapture *C, Expr *Init) |
Recursively visit a lambda capture. More... | |
bool | TraverseLambdaBody (LambdaExpr *LE, DataRecursionQueue *Queue=nullptr) |
Recursively visit the body of a lambda expression. More... | |
bool | TraverseSynOrSemInitListExpr (InitListExpr *S, DataRecursionQueue *Queue=nullptr) |
Recursively visit the syntactic or semantic form of an initialization list. More... | |
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) |
Additional Inherited Members | |
![]() | |
typedef SmallVectorImpl< llvm::PointerIntPair< Stmt *, 1, bool > > | DataRecursionQueue |
A queue used for performing data recursion over statements. More... | |
Traverses the AST and visits the occurrence of each named symbol in the given nodes.
Definition at line 29 of file RecursiveSymbolVisitor.h.
|
inline |
Definition at line 34 of file RecursiveSymbolVisitor.h.
|
inline |
Definition at line 105 of file RecursiveSymbolVisitor.h.
References clang::NestedNameSpecifier::getAsNamespace(), clang::NestedNameSpecifierLoc::getLocalBeginLoc(), clang::NestedNameSpecifierLoc::getLocalEndLoc(), clang::SourceLocation::getLocWithOffset(), clang::NamedDecl::getNameAsString(), clang::NestedNameSpecifierLoc::getNestedNameSpecifier(), clang::RecursiveASTVisitor< RecursiveSymbolVisitor< T > >::TraverseNestedNameSpecifierLoc(), and clang::tooling::RecursiveSymbolVisitor< T >::visitSymbolOccurrence().
|
inline |
Definition at line 48 of file RecursiveSymbolVisitor.h.
References clang::Lexer::getLocForEndOfToken(), and clang::CXXConstructorDecl::inits().
|
inline |
Definition at line 65 of file RecursiveSymbolVisitor.h.
References clang::DeclRefExpr::getFoundDecl(), and clang::DeclRefExpr::getLocation().
|
inline |
Definition at line 69 of file RecursiveSymbolVisitor.h.
References clang::DeclAccessPair::getDecl(), clang::MemberExpr::getFoundDecl(), and clang::MemberExpr::getMemberLoc().
|
inline |
Definition at line 44 of file RecursiveSymbolVisitor.h.
References clang::Decl::getLocation().
|
inline |
Definition at line 73 of file RecursiveSymbolVisitor.h.
|
inline |
Definition at line 37 of file RecursiveSymbolVisitor.h.
Referenced by clang::tooling::RecursiveSymbolVisitor< T >::TraverseNestedNameSpecifierLoc().
|
inline |
Definition at line 87 of file RecursiveSymbolVisitor.h.
References clang::Type::getAsCXXRecordDecl(), clang::TypeLoc::getBeginLoc(), clang::Lexer::getLocForEndOfToken(), and clang::TypeLoc::getType().