class IndexingContext

Declaration

class IndexingContext { /* full declaration omitted */ };

Declared at: clang/lib/Index/IndexingContext.h:38

Member Variables

private clang::index::IndexingOptions IndexOpts
private clang::index::IndexDataConsumer& DataConsumer
private clang::ASTContext* Ctx = nullptr

Method Overview

  • public IndexingContext(clang::index::IndexingOptions IndexOpts, clang::index::IndexDataConsumer & DataConsumer)
  • public clang::index::IndexDataConsumer & getDataConsumer()
  • public const clang::index::IndexingOptions & getIndexOpts() const
  • public const clang::LangOptions & getLangOpts() const
  • public bool handleDecl(const clang::Decl * D, clang::SourceLocation Loc, clang::index::SymbolRoleSet Roles = unsigned int(), ArrayRef<clang::index::SymbolRelation> Relations = None, const clang::DeclContext * DC = nullptr)
  • public bool handleDecl(const clang::Decl * D, clang::index::SymbolRoleSet Roles = unsigned int(), ArrayRef<clang::index::SymbolRelation> Relations = None)
  • private bool handleDeclOccurrence(const clang::Decl * D, clang::SourceLocation Loc, bool IsRef, const clang::Decl * Parent, clang::index::SymbolRoleSet Roles, ArrayRef<clang::index::SymbolRelation> Relations, const clang::Expr * RefE, const clang::Decl * RefD, const clang::DeclContext * ContainerDC)
  • public void handleMacroDefined(const clang::IdentifierInfo & Name, clang::SourceLocation Loc, const clang::MacroInfo & MI)
  • public void handleMacroReference(const clang::IdentifierInfo & Name, clang::SourceLocation Loc, const clang::MacroInfo & MD)
  • public void handleMacroUndefined(const clang::IdentifierInfo & Name, clang::SourceLocation Loc, const clang::MacroInfo & MI)
  • public bool handleReference(const clang::NamedDecl * D, clang::SourceLocation Loc, const clang::NamedDecl * Parent, const clang::DeclContext * DC, clang::index::SymbolRoleSet Roles = unsigned int(), ArrayRef<clang::index::SymbolRelation> Relations = None, const clang::Expr * RefE = nullptr, const clang::Decl * RefD = nullptr)
  • public bool importedModule(const clang::ImportDecl * ImportD)
  • public void indexBody(const clang::Stmt * S, const clang::NamedDecl * Parent, const clang::DeclContext * DC = nullptr)
  • public bool indexDecl(const clang::Decl * D)
  • public bool indexDeclContext(const clang::DeclContext * DC)
  • public bool indexDeclGroupRef(clang::DeclGroupRef DG)
  • public void indexNestedNameSpecifierLoc(clang::NestedNameSpecifierLoc NNS, const clang::NamedDecl * Parent, const clang::DeclContext * DC = nullptr)
  • public void indexTagDecl(const clang::TagDecl * D, ArrayRef<clang::index::SymbolRelation> Relations = None)
  • public bool indexTopLevelDecl(const clang::Decl * D)
  • public void indexTypeLoc(clang::TypeLoc TL, const clang::NamedDecl * Parent, const clang::DeclContext * DC = nullptr, bool isBase = false, bool isIBType = false)
  • public void indexTypeSourceInfo(clang::TypeSourceInfo * TInfo, const clang::NamedDecl * Parent, const clang::DeclContext * DC = nullptr, bool isBase = false, bool isIBType = false)
  • public static bool isTemplateImplicitInstantiation(const clang::Decl * D)
  • public void setASTContext(clang::ASTContext & ctx)
  • private bool shouldIgnoreIfImplicit(const clang::Decl * D)
  • public bool shouldIndex(const clang::Decl * D)
  • public bool shouldIndexFunctionLocalSymbols() const
  • public bool shouldIndexImplicitInstantiation() const
  • private bool shouldIndexMacroOccurrence(bool IsRef, clang::SourceLocation Loc)
  • public bool shouldIndexParametersInDeclarations() const
  • public bool shouldIndexTemplateParameters() const
  • public bool shouldSuppressRefs() const

Methods

IndexingContext(
    clang::index::IndexingOptions IndexOpts,
    clang::index::IndexDataConsumer& DataConsumer)

Declared at: clang/lib/Index/IndexingContext.h:44

Parameters

clang::index::IndexingOptions IndexOpts
clang::index::IndexDataConsumer& DataConsumer

clang::index::IndexDataConsumer& getDataConsumer()

Declared at: clang/lib/Index/IndexingContext.h:48

const clang::index::IndexingOptions&
getIndexOpts() const

Declared at: clang/lib/Index/IndexingContext.h:47

const clang::LangOptions& getLangOpts() const

Declared at: clang/lib/Index/IndexingContext.h:54

bool handleDecl(
    const clang::Decl* D,
    clang::SourceLocation Loc,
    clang::index::SymbolRoleSet Roles =
        unsigned int(),
    ArrayRef<clang::index::SymbolRelation>
        Relations = None,
    const clang::DeclContext* DC = nullptr)

Declared at: clang/lib/Index/IndexingContext.h:73

Parameters

const clang::Decl* D
clang::SourceLocation Loc
clang::index::SymbolRoleSet Roles = unsigned int()
ArrayRef<clang::index::SymbolRelation> Relations = None
const clang::DeclContext* DC = nullptr

bool handleDecl(
    const clang::Decl* D,
    clang::index::SymbolRoleSet Roles =
        unsigned int(),
    ArrayRef<clang::index::SymbolRelation>
        Relations = None)

Declared at: clang/lib/Index/IndexingContext.h:70

Parameters

const clang::Decl* D
clang::index::SymbolRoleSet Roles = unsigned int()
ArrayRef<clang::index::SymbolRelation> Relations = None

bool handleDeclOccurrence(
    const clang::Decl* D,
    clang::SourceLocation Loc,
    bool IsRef,
    const clang::Decl* Parent,
    clang::index::SymbolRoleSet Roles,
    ArrayRef<clang::index::SymbolRelation>
        Relations,
    const clang::Expr* RefE,
    const clang::Decl* RefD,
    const clang::DeclContext* ContainerDC)

Declared at: clang/lib/Index/IndexingContext.h:129

Parameters

const clang::Decl* D
clang::SourceLocation Loc
bool IsRef
const clang::Decl* Parent
clang::index::SymbolRoleSet Roles
ArrayRef<clang::index::SymbolRelation> Relations
const clang::Expr* RefE
const clang::Decl* RefD
const clang::DeclContext* ContainerDC

void handleMacroDefined(
    const clang::IdentifierInfo& Name,
    clang::SourceLocation Loc,
    const clang::MacroInfo& MI)

Declared at: clang/lib/Index/IndexingContext.h:86

Parameters

const clang::IdentifierInfo& Name
clang::SourceLocation Loc
const clang::MacroInfo& MI

void handleMacroReference(
    const clang::IdentifierInfo& Name,
    clang::SourceLocation Loc,
    const clang::MacroInfo& MD)

Declared at: clang/lib/Index/IndexingContext.h:92

Parameters

const clang::IdentifierInfo& Name
clang::SourceLocation Loc
const clang::MacroInfo& MD

void handleMacroUndefined(
    const clang::IdentifierInfo& Name,
    clang::SourceLocation Loc,
    const clang::MacroInfo& MI)

Declared at: clang/lib/Index/IndexingContext.h:89

Parameters

const clang::IdentifierInfo& Name
clang::SourceLocation Loc
const clang::MacroInfo& MI

bool handleReference(
    const clang::NamedDecl* D,
    clang::SourceLocation Loc,
    const clang::NamedDecl* Parent,
    const clang::DeclContext* DC,
    clang::index::SymbolRoleSet Roles =
        unsigned int(),
    ArrayRef<clang::index::SymbolRelation>
        Relations = None,
    const clang::Expr* RefE = nullptr,
    const clang::Decl* RefD = nullptr)

Declared at: clang/lib/Index/IndexingContext.h:78

Parameters

const clang::NamedDecl* D
clang::SourceLocation Loc
const clang::NamedDecl* Parent
const clang::DeclContext* DC
clang::index::SymbolRoleSet Roles = unsigned int()
ArrayRef<clang::index::SymbolRelation> Relations = None
const clang::Expr* RefE = nullptr
const clang::Decl* RefD = nullptr

bool importedModule(
    const clang::ImportDecl* ImportD)

Declared at: clang/lib/Index/IndexingContext.h:95

Parameters

const clang::ImportDecl* ImportD

void indexBody(
    const clang::Stmt* S,
    const clang::NamedDecl* Parent,
    const clang::DeclContext* DC = nullptr)

Declared at: clang/lib/Index/IndexingContext.h:118

Parameters

const clang::Stmt* S
const clang::NamedDecl* Parent
const clang::DeclContext* DC = nullptr

bool indexDecl(const clang::Decl* D)

Declared at: clang/lib/Index/IndexingContext.h:97

Parameters

const clang::Decl* D

bool indexDeclContext(
    const clang::DeclContext* DC)

Declared at: clang/lib/Index/IndexingContext.h:116

Parameters

const clang::DeclContext* DC

bool indexDeclGroupRef(clang::DeclGroupRef DG)

Declared at: clang/lib/Index/IndexingContext.h:122

Parameters

clang::DeclGroupRef DG

void indexNestedNameSpecifierLoc(
    clang::NestedNameSpecifierLoc NNS,
    const clang::NamedDecl* Parent,
    const clang::DeclContext* DC = nullptr)

Declared at: clang/lib/Index/IndexingContext.h:112

Parameters

clang::NestedNameSpecifierLoc NNS
const clang::NamedDecl* Parent
const clang::DeclContext* DC = nullptr

void indexTagDecl(
    const clang::TagDecl* D,
    ArrayRef<clang::index::SymbolRelation>
        Relations = None)

Declared at: clang/lib/Index/IndexingContext.h:99

Parameters

const clang::TagDecl* D
ArrayRef<clang::index::SymbolRelation> Relations = None

bool indexTopLevelDecl(const clang::Decl* D)

Declared at: clang/lib/Index/IndexingContext.h:121

Parameters

const clang::Decl* D

void indexTypeLoc(
    clang::TypeLoc TL,
    const clang::NamedDecl* Parent,
    const clang::DeclContext* DC = nullptr,
    bool isBase = false,
    bool isIBType = false)

Declared at: clang/lib/Index/IndexingContext.h:107

Parameters

clang::TypeLoc TL
const clang::NamedDecl* Parent
const clang::DeclContext* DC = nullptr
bool isBase = false
bool isIBType = false

void indexTypeSourceInfo(
    clang::TypeSourceInfo* TInfo,
    const clang::NamedDecl* Parent,
    const clang::DeclContext* DC = nullptr,
    bool isBase = false,
    bool isIBType = false)

Declared at: clang/lib/Index/IndexingContext.h:102

Parameters

clang::TypeSourceInfo* TInfo
const clang::NamedDecl* Parent
const clang::DeclContext* DC = nullptr
bool isBase = false
bool isIBType = false

static bool isTemplateImplicitInstantiation(
    const clang::Decl* D)

Declared at: clang/lib/Index/IndexingContext.h:68

Parameters

const clang::Decl* D

void setASTContext(clang::ASTContext& ctx)

Declared at: clang/lib/Index/IndexingContext.h:50

Parameters

clang::ASTContext& ctx

bool shouldIgnoreIfImplicit(const clang::Decl* D)

Declared at: clang/lib/Index/IndexingContext.h:125

Parameters

const clang::Decl* D

bool shouldIndex(const clang::Decl* D)

Declared at: clang/lib/Index/IndexingContext.h:52

Parameters

const clang::Decl* D

bool shouldIndexFunctionLocalSymbols() const

Declared at: clang/lib/Index/IndexingContext.h:60

bool shouldIndexImplicitInstantiation() const

Declared at: clang/lib/Index/IndexingContext.h:62

bool shouldIndexMacroOccurrence(
    bool IsRef,
    clang::SourceLocation Loc)

Declared at: clang/lib/Index/IndexingContext.h:127

Parameters

bool IsRef
clang::SourceLocation Loc

bool shouldIndexParametersInDeclarations() const

Declared at: clang/lib/Index/IndexingContext.h:64

bool shouldIndexTemplateParameters() const

Declared at: clang/lib/Index/IndexingContext.h:66

bool shouldSuppressRefs() const

Declared at: clang/lib/Index/IndexingContext.h:56