clang-tools  10.0.0svn
Public Member Functions | List of all members
clang::clangd::FileIndex Class Reference

This manages symbols from files and an in-memory index on all symbols. More...

#include <FileIndex.h>

Inheritance diagram for clang::clangd::FileIndex:
Inheritance graph
[legend]
Collaboration diagram for clang::clangd::FileIndex:
Collaboration graph
[legend]

Public Member Functions

 FileIndex (bool UseDex=true)
 
void updatePreamble (PathRef Path, ASTContext &AST, std::shared_ptr< Preprocessor > PP, const CanonicalIncludes &Includes)
 Update preamble symbols of file Path with all declarations in AST and macros in PP. More...
 
void updateMain (PathRef Path, ParsedAST &AST)
 Update symbols and references from main file Path with indexMainDecls. More...
 
- Public Member Functions inherited from clang::clangd::MergedIndex
 MergedIndex (const SymbolIndex *Dynamic, const SymbolIndex *Static)
 
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...
 
void 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

This manages symbols from files and an in-memory index on all symbols.

FIXME: Expose an interface to remove files that are closed.

Definition at line 94 of file FileIndex.h.

Constructor & Destructor Documentation

◆ FileIndex()

clang::clangd::FileIndex::FileIndex ( bool  UseDex = true)

Definition at line 237 of file FileIndex.cpp.

Member Function Documentation

◆ updateMain()

void clang::clangd::FileIndex::updateMain ( PathRef  Path,
ParsedAST AST 
)

◆ updatePreamble()

void clang::clangd::FileIndex::updatePreamble ( PathRef  Path,
ASTContext &  AST,
std::shared_ptr< Preprocessor >  PP,
const CanonicalIncludes Includes 
)

Update preamble symbols of file Path with all declarations in AST and macros in PP.

Definition at line 242 of file FileIndex.cpp.


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