diff --git a/src/clang_symbol_kind.h b/src/clang_symbol_kind.h index 5016cc18..1f53bc4a 100644 --- a/src/clang_symbol_kind.h +++ b/src/clang_symbol_kind.h @@ -78,6 +78,7 @@ enum class SymbolRole : uint8_t { CalledBy = 1 << 6, }; MAKE_REFLECT_TYPE_PROXY(SymbolRole); +MAKE_ENUM_HASHABLE(SymbolRole); inline uint8_t operator&(SymbolRole lhs, SymbolRole rhs) { return uint8_t(lhs) & uint8_t(rhs); diff --git a/src/indexer.cc b/src/indexer.cc index a973ea30..35a2e445 100644 --- a/src/indexer.cc +++ b/src/indexer.cc @@ -2319,7 +2319,8 @@ void Reflect(Reader& visitor, IndexFuncRef& value) { if (str_value[0] == '~') { value.role = SymbolRole::Implicit; ++str_value; - } + } else + value.role = SymbolRole::None; RawId id = atol(str_value); const char* loc_string = strchr(str_value, '@') + 1;