#include "Merge.h"
#include "index/Symbol.h"
#include "index/SymbolLocation.h"
#include "index/SymbolOrigin.h"
#include "support/Trace.h"
#include "llvm/ADT/StringRef.h"
#include <algorithm>
#include <iterator>
namespace clang {
namespace clangd {
namespace {
bool isIndexAuthoritative(const SymbolIndex::IndexedFiles &Index,
const Symbol &S) { … }
}
bool MergedIndex::fuzzyFind(
const FuzzyFindRequest &Req,
llvm::function_ref<void(const Symbol &)> Callback) const { … }
void MergedIndex::lookup(
const LookupRequest &Req,
llvm::function_ref<void(const Symbol &)> Callback) const { … }
bool MergedIndex::refs(const RefsRequest &Req,
llvm::function_ref<void(const Ref &)> Callback) const { … }
llvm::unique_function<IndexContents(llvm::StringRef) const>
MergedIndex::indexedFiles() const { … }
void MergedIndex::relations(
const RelationsRequest &Req,
llvm::function_ref<void(const SymbolID &, const Symbol &)> Callback) const { … }
static bool prefer(const SymbolLocation &L, const SymbolLocation &R) { … }
Symbol mergeSymbol(const Symbol &L, const Symbol &R) { … }
}
}