From 95515643d8da9a36efa3174eac6d485b9ad10328 Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Fri, 9 Feb 2018 15:39:55 -0800 Subject: [PATCH] Remove ToSymbol --- src/query.cc | 28 +++++++++++++++++----------- src/query.h | 3 --- third_party/loguru | 2 +- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/query.cc b/src/query.cc index 5dbf0f81..ed5e1b6e 100644 --- a/src/query.cc +++ b/src/query.cc @@ -103,7 +103,23 @@ optional ToQuery(const IdMap& id_map, const IndexVar::Def& var) { result.definition_extent = QueryLocation{ *var.definition_extent, id_map.primary_file, SymbolRole::None}; result.variable_type = id_map.ToQuery(var.variable_type); - result.parent_id = var.parent_id; + if (result.parent_id) + switch (var.parent_kind) { + default: + break; + case SymbolKind::File: + result.parent_id = Id(id_map.primary_file); + break; + case SymbolKind::Func: + result.parent_id = Id(id_map.ToQuery(IndexFuncId(*var.parent_id))); + break; + case SymbolKind::Type: + result.parent_id = Id(id_map.ToQuery(IndexTypeId(*var.parent_id))); + break; + case SymbolKind::Var: + result.parent_id = Id(id_map.ToQuery(IndexVarId(*var.parent_id))); + break; + } result.parent_kind = var.parent_kind; result.kind = var.kind; result.storage = var.storage; @@ -523,16 +539,6 @@ std::vector IdMap::ToQuery(const std::vector& a) const { return ret; } -SymbolIdx IdMap::ToSymbol(IndexTypeId id) const { - return SymbolIdx(SymbolKind::Type, ToQuery(id).id); -} -SymbolIdx IdMap::ToSymbol(IndexFuncId id) const { - return SymbolIdx(SymbolKind::Func, ToQuery(id).id); -} -SymbolIdx IdMap::ToSymbol(IndexVarId id) const { - return SymbolIdx(SymbolKind::Var, ToQuery(id).id); -} - // ---------------------- // INDEX THREAD FUNCTIONS // ---------------------- diff --git a/src/query.h b/src/query.h index 9678ea65..565ce6cb 100644 --- a/src/query.h +++ b/src/query.h @@ -428,9 +428,6 @@ struct IdMap { std::vector ToQuery(const std::vector& a) const; // clang-format on - SymbolIdx ToSymbol(IndexTypeId id) const; - SymbolIdx ToSymbol(IndexFuncId id) const; - SymbolIdx ToSymbol(IndexVarId id) const; private: spp::sparse_hash_map cached_type_ids_; diff --git a/third_party/loguru b/third_party/loguru index bead3888..2c35b5e7 160000 --- a/third_party/loguru +++ b/third_party/loguru @@ -1 +1 @@ -Subproject commit bead38889d44d9fdb5c52916d1f26c4d6af09e66 +Subproject commit 2c35b5e7251ab5d364b1b3164eccef7b5d2293c5