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"
45 std::optional<RefSlab>
Refs;
50 std::optional<tooling::CompileCommand>
Cmd;
64 const tooling::CompileCommand *
Cmd =
nullptr;
75llvm::raw_ostream &
operator<<(llvm::raw_ostream &
OS,
const IndexFileOut &O);
78std::string
toYAML(
const Symbol &);
std::string Filename
Filename as a string.
llvm::raw_string_ostream OS
An efficient structure of storing large set of symbol references in memory.
An immutable symbol container that stores a set of symbols.
llvm::Expected< IndexFileIn > readIndexFile(llvm::StringRef Data, SymbolOrigin Origin)
llvm::raw_ostream & operator<<(llvm::raw_ostream &OS, const CodeCompletion &C)
llvm::StringMap< IncludeGraphNode > IncludeGraph
std::unique_ptr< SymbolIndex > loadIndex(llvm::StringRef SymbolFilename, SymbolOrigin Origin, bool UseDex)
std::string toYAML(const Symbol &)
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
std::optional< RelationSlab > Relations
std::optional< SymbolSlab > Symbols
std::optional< RefSlab > Refs
std::optional< tooling::CompileCommand > Cmd
std::optional< IncludeGraph > Sources
const IncludeGraph * Sources
const RelationSlab * Relations
const tooling::CompileCommand * Cmd
const SymbolSlab * Symbols
IndexFileOut(const IndexFileIn &I)
Represents a symbol occurrence in the source file.
Represents a relation between two symbols.