10 #ifndef LLVM_CLANG_LIB_INDEX_INDEXINGCONTEXT_H
11 #define LLVM_CLANG_LIB_INDEX_INDEXINGCONTEXT_H
16 #include "llvm/ADT/ArrayRef.h"
28 class NestedNameSpecifierLoc;
35 class IndexDataConsumer;
44 : IndexOpts(IndexOpts), DataConsumer(DataConsumer) {}
77 const Expr *RefE =
nullptr,
78 const Decl *RefD =
nullptr);
107 bool shouldIgnoreIfImplicit(
const Decl *D);
110 bool IsRef,
const Decl *Parent,
const IndexingOptions & getIndexOpts() const
void indexTypeLoc(TypeLoc TL, const NamedDecl *Parent, const DeclContext *DC=nullptr, bool isBase=false)
bool handleReference(const NamedDecl *D, SourceLocation Loc, const NamedDecl *Parent, const DeclContext *DC, SymbolRoleSet Roles, ArrayRef< SymbolRelation > Relations=None, const Expr *RefE=nullptr, const Decl *RefD=nullptr)
bool indexTopLevelDecl(const Decl *D)
A container of type source information.
void setASTContext(ASTContext &ctx)
IndexingContext(IndexingOptions IndexOpts, IndexDataConsumer &DataConsumer)
Base wrapper for a particular "section" of type source info.
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
A C++ nested-name-specifier augmented with source location information.
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
bool shouldSuppressRefs() const
bool indexDecl(const Decl *D)
void indexTypeSourceInfo(TypeSourceInfo *TInfo, const NamedDecl *Parent, const DeclContext *DC=nullptr, bool isBase=false)
Expr - This represents one expression.
bool indexDeclContext(const DeclContext *DC)
bool indexDeclGroupRef(DeclGroupRef DG)
static bool isTemplateImplicitInstantiation(const Decl *D)
static bool isFunctionLocalDecl(const Decl *D)
Encodes a location in the source.
TagDecl - Represents the declaration of a struct/union/class/enum.
Describes a module import declaration, which makes the contents of the named module visible in the cu...
bool handleDecl(const Decl *D, SymbolRoleSet Roles=SymbolRoleSet(), ArrayRef< SymbolRelation > Relations=None)
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
void indexNestedNameSpecifierLoc(NestedNameSpecifierLoc NNS, const NamedDecl *Parent, const DeclContext *DC=nullptr)
bool importedModule(const ImportDecl *ImportD)
bool shouldIndexFunctionLocalSymbols() const
IndexDataConsumer & getDataConsumer()
bool shouldIndexImplicitTemplateInsts() const
void indexTagDecl(const TagDecl *D)
void indexBody(const Stmt *S, const NamedDecl *Parent, const DeclContext *DC=nullptr)
NamedDecl - This represents a decl with a name.