clang-tools 19.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions
FileIndex.h File Reference
#include "Headers.h"
#include "clang-include-cleaner/Record.h"
#include "index/Index.h"
#include "index/Merge.h"
#include "index/Ref.h"
#include "index/Relation.h"
#include "index/Serialization.h"
#include "index/Symbol.h"
#include "support/MemoryTree.h"
#include "support/Path.h"
#include "clang/Lex/Preprocessor.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include <memory>
#include <optional>
#include <vector>

Go to the source code of this file.

Classes

class  clang::clangd::FileSymbols
 A container of slabs associated with a key. More...
 
class  clang::clangd::FileIndex
 This manages symbols from files and an in-memory index on all symbols. More...
 
struct  clang::clangd::FileShardedIndex
 Takes slabs coming from a TU (multiple files) and shards them per declaration location. More...
 

Namespaces

namespace  clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
 
namespace  clang::clangd
 

Typedefs

using clang::clangd::SlabTuple = std::tuple< SymbolSlab, RefSlab, RelationSlab >
 

Enumerations

enum class  clang::clangd::IndexType { clang::clangd::Light , clang::clangd::Heavy }
 Select between in-memory index implementations, which have tradeoffs. More...
 
enum class  clang::clangd::DuplicateHandling { clang::clangd::PickOne , clang::clangd::Merge }
 How to handle duplicated symbols across multiple files. More...
 

Functions

SlabTuple clang::clangd::indexMainDecls (ParsedAST &AST)
 Retrieves symbols and refs of local top level decls in AST (i.e.
 
SlabTuple clang::clangd::indexHeaderSymbols (llvm::StringRef Version, ASTContext &AST, Preprocessor &PP, const include_cleaner::PragmaIncludes &PI)
 Index declarations from AST and macros from PP that are declared in included headers.