15#ifndef LLVM_CLANG_TOOLING_REFACTORING_RECURSIVESYMBOLVISITOR_H 
   16#define LLVM_CLANG_TOOLING_REFACTORING_RECURSIVESYMBOLVISITOR_H 
   34      : SM(SM), LangOpts(LangOpts) {}
 
 
   65    return visit(
Expr->getFoundDecl(), 
Expr->getLocation());
 
 
   69    return visit(
Expr->getFoundDecl().getDecl(), 
Expr->getMemberLoc());
 
 
   90    if (
const auto *TemplateTypeParm =
 
   91            dyn_cast<TemplateTypeParmType>(Loc.
getType())) {
 
   92      if (!visit(TemplateTypeParm->getDecl(), TypeBeginLoc, TypeEndLoc))
 
   95    if (
const auto *TemplateSpecType =
 
   96            dyn_cast<TemplateSpecializationType>(Loc.
getType())) {
 
   97      if (!visit(TemplateSpecType->getTemplateName().getAsTemplateDecl(),
 
   98                 TypeBeginLoc, TypeEndLoc))
 
  102      if (TP->getTypeClass() == clang::Type::Record)
 
  103        return visit(TP->getAsCXXRecordDecl(), TypeBeginLoc, TypeEndLoc);
 
 
  119      const auto *ND = dyn_cast<NamespaceDecl>(
 
  120          Qualifier.getAsNamespaceAndPrefix().Namespace);
 
 
  130      if (D.isFieldDesignator()) {
 
  132          if (!visit(
Decl, D.getFieldLoc(), D.getFieldLoc()))
 
 
 
Represents a C++ constructor within a class.
 
A reference to a declared variable, function, enum, etc.
 
Decl - This represents one declaration (or definition), e.g.
 
SourceLocation getLocation() const
 
Represents a single C99 designator.
 
Represents a C99 designated initializer expression.
 
MutableArrayRef< Designator > designators()
 
This represents one expression.
 
Represents a member of a struct/union/class.
 
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
 
static SourceLocation getLocForEndOfToken(SourceLocation Loc, unsigned Offset, const SourceManager &SM, const LangOptions &LangOpts)
Computes the source location just past the end of the token at this source location.
 
MemberExpr - [C99 6.5.2.3] Structure and Union Members.
 
This represents a decl that may have a name.
 
A C++ nested-name-specifier augmented with source location information.
 
NestedNameSpecifier getNestedNameSpecifier() const
Retrieve the nested-name-specifier to which this instance refers.
 
SourceLocation getLocalEndLoc() const
Retrieve the location of the end of this component of the nested-name-specifier.
 
SourceLocation getLocalBeginLoc() const
Retrieve the location of the beginning of this component of the nested-name-specifier.
 
Represents a C++ nested name specifier, such as "\::std::vector<int>::".
 
@ Namespace
A namespace-like entity, stored as a NamespaceBaseDecl*.
 
OffsetOfExpr - [C99 7.17] - This represents an expression of the form offsetof(record-type,...
 
const OffsetOfNode & getComponent(unsigned Idx) const
 
unsigned getNumComponents() const
 
Helper class for OffsetOfExpr.
 
FieldDecl * getField() const
For a field offsetof node, returns the field.
 
Kind getKind() const
Determine what kind of offsetof node this is.
 
SourceLocation getEndLoc() const LLVM_READONLY
 
A class that does preorder or postorder depth-first traversal on the entire Clang AST and visits each...
 
bool TraverseNestedNameSpecifierLoc(NestedNameSpecifierLoc NNS)
 
Encodes a location in the source.
 
This class handles loading and caching of source files into memory.
 
A trivial tuple used to represent a source range.
 
Base wrapper for a particular "section" of type source info.
 
QualType getType() const
Get the type for which this source info wrapper provides information.
 
SourceLocation getBeginLoc() const
Get the begin source location.
 
const Type * getTypePtr() const
 
The base class of the type hierarchy.
 
Wrapper for source info for typedefs.
 
The JSON file list parser is used to communicate input to InstallAPI.
 
bool isa(CodeGen::Address addr)
 
const FunctionProtoType * T