Go to the documentation of this file.
24 #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_INDEX_SERIALIZATION_H
25 #define LLVM_CLANG_TOOLS_EXTRA_CLANGD_INDEX_SERIALIZATION_H
30 #include "clang/Tooling/CompilationDatabase.h"
31 #include "llvm/Support/Error.h"
44 llvm::Optional<RefSlab>
Refs;
49 llvm::Optional<tooling::CompileCommand>
Cmd;
63 const tooling::CompileCommand *
Cmd =
nullptr;
71 Cmd(I.
Cmd ? I.
Cmd.getPointer() : nullptr) {}
74 llvm::raw_ostream &
operator<<(llvm::raw_ostream &
OS,
const IndexFileOut &O);
77 std::string
toYAML(
const Symbol &);
79 std::string
toYAML(
const Relation &);
80 std::string
toYAML(
const Ref &);
std::string Filename
Filename as a string.
llvm::Optional< RefSlab > Refs
An efficient structure of storing large set of symbol references in memory.
llvm::Optional< tooling::CompileCommand > Cmd
llvm::Expected< IndexFileIn > readIndexFile(llvm::StringRef Data, SymbolOrigin Origin)
std::string toYAML(const Symbol &)
std::unique_ptr< SymbolIndex > loadIndex(llvm::StringRef SymbolFilename, SymbolOrigin Origin, bool UseDex)
std::array< uint8_t, 20 > SymbolID
llvm::raw_ostream & operator<<(llvm::raw_ostream &OS, const CodeCompletion &C)
IndexFileOut(const IndexFileIn &I)
llvm::Optional< SymbolSlab > Symbols
const tooling::CompileCommand * Cmd
const IncludeGraph * Sources
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
llvm::raw_string_ostream OS
llvm::StringMap< IncludeGraphNode > IncludeGraph
llvm::Optional< IncludeGraph > Sources
An immutable symbol container that stores a set of symbols.
const SymbolSlab * Symbols
llvm::Optional< RelationSlab > Relations
const RelationSlab * Relations