forked from OSchip/llvm-project
Moved DenseMap support for SymbolID into SymbolID.h
llvm-svn: 355081
This commit is contained in:
parent
60e52f5e3d
commit
ed2539a608
|
@ -94,31 +94,6 @@ inline bool operator<(const SymbolLocation &L, const SymbolLocation &R) {
|
|||
}
|
||||
llvm::raw_ostream &operator<<(llvm::raw_ostream &, const SymbolLocation &);
|
||||
|
||||
} // namespace clangd
|
||||
} // namespace clang
|
||||
namespace llvm {
|
||||
// Support SymbolIDs as DenseMap keys.
|
||||
template <> struct DenseMapInfo<clang::clangd::SymbolID> {
|
||||
static inline clang::clangd::SymbolID getEmptyKey() {
|
||||
static clang::clangd::SymbolID EmptyKey("EMPTYKEY");
|
||||
return EmptyKey;
|
||||
}
|
||||
static inline clang::clangd::SymbolID getTombstoneKey() {
|
||||
static clang::clangd::SymbolID TombstoneKey("TOMBSTONEKEY");
|
||||
return TombstoneKey;
|
||||
}
|
||||
static unsigned getHashValue(const clang::clangd::SymbolID &Sym) {
|
||||
return hash_value(Sym);
|
||||
}
|
||||
static bool isEqual(const clang::clangd::SymbolID &LHS,
|
||||
const clang::clangd::SymbolID &RHS) {
|
||||
return LHS == RHS;
|
||||
}
|
||||
};
|
||||
} // namespace llvm
|
||||
namespace clang {
|
||||
namespace clangd {
|
||||
|
||||
// Describes the source of information about a symbol.
|
||||
// Mainly useful for debugging, e.g. understanding code completion reuslts.
|
||||
// This is a bitfield as information can be combined from several sources.
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_INDEX_SYMBOLID_H
|
||||
#define LLVM_CLANG_TOOLS_EXTRA_CLANGD_INDEX_SYMBOLID_H
|
||||
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/Hashing.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/Support/Error.h"
|
||||
|
@ -61,4 +62,25 @@ llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const SymbolID &ID);
|
|||
} // namespace clangd
|
||||
} // namespace clang
|
||||
|
||||
namespace llvm {
|
||||
// Support SymbolIDs as DenseMap keys.
|
||||
template <> struct DenseMapInfo<clang::clangd::SymbolID> {
|
||||
static inline clang::clangd::SymbolID getEmptyKey() {
|
||||
static clang::clangd::SymbolID EmptyKey("EMPTYKEY");
|
||||
return EmptyKey;
|
||||
}
|
||||
static inline clang::clangd::SymbolID getTombstoneKey() {
|
||||
static clang::clangd::SymbolID TombstoneKey("TOMBSTONEKEY");
|
||||
return TombstoneKey;
|
||||
}
|
||||
static unsigned getHashValue(const clang::clangd::SymbolID &Sym) {
|
||||
return hash_value(Sym);
|
||||
}
|
||||
static bool isEqual(const clang::clangd::SymbolID &LHS,
|
||||
const clang::clangd::SymbolID &RHS) {
|
||||
return LHS == RHS;
|
||||
}
|
||||
};
|
||||
} // namespace llvm
|
||||
|
||||
#endif // LLVM_CLANG_TOOLS_EXTRA_CLANGD_INDEX_SYMBOLID_H
|
||||
|
|
Loading…
Reference in New Issue