clang-tools 10.0.0

Public Member Functions | List of all members
clang::clangd::SymbolIndex Class Referenceabstract

Interface for symbol indexes that can be used for searching or matching symbols among a set of symbols based on names or unique IDs. More...

`#include <Index.h>`

Inheritance diagram for clang::clangd::SymbolIndex:
[legend]

## Public Member Functions
virtual | ~SymbolIndex ()=default
virtual bool | fuzzyFind (const FuzzyFindRequest &Req, llvm::function_ref< void(const Symbol &)> Callback) const =0
| Matches symbols in the index fuzzily and applies `Callback` on each matched symbol before returning. More...
virtual void | lookup (const LookupRequest &Req, llvm::function_ref< void(const Symbol &)> Callback) const =0
| Looks up symbols with any of the given symbol IDs and applies `Callback` on each matched symbol. More...
virtual bool | refs (const RefsRequest &Req, llvm::function_ref< void(const Ref &)> Callback) const =0
| Finds all occurrences (e.g. More...
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...
virtual size_t | estimateMemoryUsage () const =0
| Returns estimated size of index (in bytes). More...

## Detailed Description

Interface for symbol indexes that can be used for searching or matching symbols among a set of symbols based on names or unique IDs.

Definition at line 85 of file Index.h.

## Constructor & Destructor Documentation

## ◆ ~SymbolIndex()

virtual clang::clangd::SymbolIndex::~SymbolIndex | ( |  | ) |
| virtual default

## Member Function Documentation

## ◆ estimateMemoryUsage()

virtual size_t clang::clangd::SymbolIndex::estimateMemoryUsage | ( |  | ) | const
| pure virtual

Returns estimated size of index (in bytes).

Implemented in clang::clangd::SwapIndex, clang::clangd::dex::Dex, clang::clangd::MemIndex, and clang::clangd::MergedIndex.

Referenced by clang::clangd::MergedIndex::estimateMemoryUsage().

## ◆ fuzzyFind()

virtual bool clang::clangd::SymbolIndex::fuzzyFind | ( | const FuzzyFindRequest & | Req,
|  | llvm::function_ref< void(const Symbol &)> | Callback
| ) |  | const
| pure virtual

Matches symbols in the index fuzzily and applies `Callback` on each matched symbol before returning.

If returned Symbols are used outside Callback, they must be deep-copied!

Returns true if there may be more results (limited by Req.Limit).

Implemented in clang::clangd::SwapIndex, clang::clangd::dex::Dex, clang::clangd::MemIndex, and clang::clangd::MergedIndex.

Referenced by clang::clangd::runFuzzyFind().

## ◆ lookup()

virtual void clang::clangd::SymbolIndex::lookup | ( | const LookupRequest & | Req,
|  | llvm::function_ref< void(const Symbol &)> | Callback
| ) |  | const
| pure virtual

Looks up symbols with any of the given symbol IDs and applies `Callback` on each matched symbol.

The returned symbol must be deep-copied if it's used outside Callback.

Implemented in clang::clangd::SwapIndex, clang::clangd::dex::Dex, clang::clangd::MemIndex, and clang::clangd::MergedIndex.

Referenced by clang::clangd::lookup().

## ◆ refs()

virtual bool clang::clangd::SymbolIndex::refs | ( | const RefsRequest & | Req,
|  | llvm::function_ref< void(const Ref &)> | Callback
| ) |  | const
| pure virtual

Finds all occurrences (e.g.

references, declarations, definitions) of a symbol and applies `Callback` on each result.

Results should be returned in arbitrary order. The returned result must be deep-copied if it's used outside Callback.

Returns true if there will be more results (limited by Req.Limit);

Implemented in clang::clangd::SwapIndex, clang::clangd::dex::Dex, clang::clangd::MemIndex, and clang::clangd::MergedIndex.

## ◆ relations()

virtual void clang::clangd::SymbolIndex::relations | ( | const RelationsRequest & | Req,
|  | llvm::function_ref< void(const SymbolID &Subject, const Symbol &Object)> | Callback
| ) |  | const
| pure virtual

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.

Referenced by clang::clangd::MergedIndex::relations().

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

- Index.h