clang-tools 10.0.0

Classes | Public Member Functions | List of all members
clang::clangd::BackgroundIndex Class Reference

`#include <Background.h>`

Inheritance diagram for clang::clangd::BackgroundIndex:
[legend]
Collaboration diagram for clang::clangd::BackgroundIndex:
[legend]

## Public Member Functions
| BackgroundIndex (Context BackgroundContext, const FileSystemProvider &, const GlobalCompilationDatabase &CDB, BackgroundIndexStorage::Factory IndexStorageFactory, size_t ThreadPoolSize=llvm::heavyweight_hardware_concurrency())
| If BuildIndexPeriodMs is greater than 0, the symbol index will only be rebuilt periodically (one per `BuildIndexPeriodMs`); otherwise, index is rebuilt for each indexed file. More...
| ~BackgroundIndex ()
void | enqueue (const std::vector< std::string > &ChangedFiles)
void | boostRelated (llvm::StringRef Path)
| Boosts priority of indexing related to Path. More...
void | stop ()
LLVM_NODISCARD bool | blockUntilIdleForTest (llvm::Optional< double > TimeoutSeconds=10)
Public Member Functions inherited from clang::clangd::SwapIndex
| SwapIndex (std::unique_ptr< SymbolIndex > Index=nullptr)
void | reset (std::unique_ptr< SymbolIndex >)
bool | fuzzyFind (const FuzzyFindRequest &, llvm::function_ref< void(const Symbol &)>) const override
| Matches symbols in the index fuzzily and applies `Callback` on each matched symbol before returning. More...
void | lookup (const LookupRequest &, llvm::function_ref< void(const Symbol &)>) const override
| Looks up symbols with any of the given symbol IDs and applies `Callback` on each matched symbol. More...
bool | refs (const RefsRequest &, llvm::function_ref< void(const Ref &)>) const override
| Finds all occurrences (e.g. More...
void | relations (const RelationsRequest &, llvm::function_ref< void(const SymbolID &, const Symbol &)>) const override
size_t | estimateMemoryUsage () const override
| Returns estimated size of index (in bytes). More...
Public Member Functions inherited from clang::clangd::SymbolIndex
virtual | ~SymbolIndex ()=default
virtual void | relations (const RelationsRequest &Req, llvm::function_ref< void(const SymbolID &Subject, const Symbol &Object)> Callback) const =0
| Finds all relations (S, P, O) stored in the index such that S is among Req.Subjects and P is Req.Predicate, and invokes `Callback` for (S, O) in each. More...

## Detailed Description

Definition at line 115 of file Background.h.

## Constructor & Destructor Documentation

## ◆ BackgroundIndex()

clang::clangd::BackgroundIndex::BackgroundIndex | ( | Context | BackgroundContext,
|  | const FileSystemProvider & | FSProvider,
|  | const GlobalCompilationDatabase & | CDB,
|  | BackgroundIndexStorage::Factory | IndexStorageFactory,
|  | size_t | ThreadPoolSize = `llvm::heavyweight_hardware_concurrency()`
| ) |  |

If BuildIndexPeriodMs is greater than 0, the symbol index will only be rebuilt periodically (one per `BuildIndexPeriodMs`); otherwise, index is rebuilt for each indexed file.

Definition at line 137 of file Background.cpp.

## ◆ ~BackgroundIndex()

clang::clangd::BackgroundIndex::~BackgroundIndex | ( |  | ) |

Definition at line 159 of file Background.cpp.

References stop(), and clang::clangd::AsyncTaskRunner::wait().

## Member Function Documentation

## ◆ blockUntilIdleForTest()

LLVM_NODISCARD bool clang::clangd::BackgroundIndex::blockUntilIdleForTest | ( | llvm::Optional< double > | TimeoutSeconds = `10` | ) |
| inline

Definition at line 147 of file Background.h.

References FSProvider, Index, and MainFile.

## ◆ boostRelated()

void clang::clangd::BackgroundIndex::boostRelated | ( | llvm::StringRef | Path | ) |

Boosts priority of indexing related to Path.

Typically used to index TUs when headers are opened.

Definition at line 207 of file Background.cpp.

References clang::clangd::BackgroundQueue::boost(), clang::clangd::File, clang::clangd::filenameWithoutExtension(), clang::clangd::isHeaderFile(), MainFile, Refs, and Symbols.

## ◆ enqueue()

void clang::clangd::BackgroundIndex::enqueue | ( | const std::vector< std::string > & | ChangedFiles | ) |
| inline

Definition at line 130 of file Background.h.

## ◆ stop()

void clang::clangd::BackgroundIndex::stop | ( |  | ) |
| inline

Definition at line 140 of file Background.h.

Referenced by ~BackgroundIndex().

The documentation for this class was generated from the following files:

- Background.h
- Background.cpp