#include "Headers.h"
#include "index/Ref.h"
#include "index/Relation.h"
#include "index/Serialization.h"
#include "index/Symbol.h"
#include "index/SymbolLocation.h"
#include "index/SymbolOrigin.h"
#include "clang/Tooling/CompilationDatabase.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/StringSaver.h"
#include "llvm/Support/YAMLTraits.h"
#include "llvm/Support/raw_ostream.h"
#include <cstdint>
#include <optional>
namespace {
struct YIncludeHeaderWithReferences;
}
LLVM_YAML_IS_SEQUENCE_VECTOR(clang::clangd::Symbol::IncludeHeaderWithReferences)
LLVM_YAML_IS_SEQUENCE_VECTOR(clang::clangd::Ref)
LLVM_YAML_IS_SEQUENCE_VECTOR(YIncludeHeaderWithReferences)
namespace {
RefBundle;
struct VariantEntry { … };
struct YPosition { … };
struct YIncludeHeaderWithReferences { … };
struct CompileCommandYAML : clang::tooling::CompileCommand { … };
}
namespace llvm {
namespace yaml {
FileDigest;
IncludeGraph;
IncludeGraphNode;
Ref;
RefKind;
Relation;
RelationKind;
Symbol;
SymbolID;
SymbolLocation;
SymbolInfo;
SymbolKind;
SymbolLanguage;
CompileCommand;
struct NormalizedSymbolID { … };
struct NormalizedSymbolFlag { … };
template <> struct MappingTraits<YPosition> { … };
struct NormalizedPosition { … };
struct NormalizedFileURI { … };
template <> struct MappingTraits<SymbolLocation> { … };
template <> struct MappingTraits<SymbolInfo> { … };
template <> struct ScalarBitSetTraits<clang::clangd::Symbol::IncludeDirective> { … };
template <> struct MappingTraits<YIncludeHeaderWithReferences> { … };
struct NormalizedIncludeHeaders { … };
template <> struct MappingTraits<Symbol> { … };
template <> struct ScalarEnumerationTraits<SymbolLanguage> { … };
template <> struct ScalarEnumerationTraits<SymbolKind> { … };
template <> struct MappingTraits<RefBundle> { … };
struct NormalizedRefKind { … };
template <> struct MappingTraits<Ref> { … };
struct NormalizedSymbolRole { … };
template <> struct MappingTraits<SymbolID> { … };
template <> struct MappingTraits<Relation> { … };
struct NormalizedSourceFlag { … };
struct NormalizedFileDigest { … };
template <> struct MappingTraits<IncludeGraphNode> { … };
template <> struct MappingTraits<CompileCommandYAML> { … };
template <> struct MappingTraits<VariantEntry> { … };
}
}
namespace clang {
namespace clangd {
void writeYAML(const IndexFileOut &O, llvm::raw_ostream &OS) { … }
llvm::Expected<IndexFileIn> readYAML(llvm::StringRef Data,
SymbolOrigin Origin) { … }
std::string toYAML(const Symbol &S) { … }
std::string toYAML(const std::pair<SymbolID, llvm::ArrayRef<Ref>> &Data) { … }
std::string toYAML(const Relation &R) { … }
std::string toYAML(const Ref &R) { … }
}
}