From 3d2ac64ce62aedfd4f5abece4855a3ef89635ea2 Mon Sep 17 00:00:00 2001 From: Eberhard Graether Date: Thu, 14 Sep 2017 16:52:37 +0200 Subject: [PATCH] logic: don't activate template specializations at same location when clicking source location --- src/lib/data/storage/PersistentStorage.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/lib/data/storage/PersistentStorage.cpp b/src/lib/data/storage/PersistentStorage.cpp index d68c6ff3..26221d14 100644 --- a/src/lib/data/storage/PersistentStorage.cpp +++ b/src/lib/data/storage/PersistentStorage.cpp @@ -1167,10 +1167,22 @@ std::vector PersistentStorage::getNodeIdsForLocationIds(const std::vector(elementId); if (edge.id != 0) { + auto it = m_symbolDefinitionKinds.find(edge.targetNodeId); + if (it != m_symbolDefinitionKinds.end() && it->second == DEFINITION_IMPLICIT) + { + continue; + } + edgeIds.insert(edge.targetNodeId); } else if (m_sqliteIndexStorage.isNode(elementId)) { + auto it = m_symbolDefinitionKinds.find(elementId); + if (it != m_symbolDefinitionKinds.end() && it->second == DEFINITION_IMPLICIT) + { + continue; + } + nodeIds.insert(elementId); } } @@ -1833,6 +1845,12 @@ TooltipInfo PersistentStorage::getTooltipInfoForSourceLocationIdsAndLocalSymbolI for (const StorageNode& node : m_sqliteIndexStorage.getAllByIds(tokenIds)) { + auto it = m_symbolDefinitionKinds.find(node.id); + if (it != m_symbolDefinitionKinds.end() && it->second == DEFINITION_IMPLICIT) + { + continue; + } + TooltipSnippet snippet; NameHierarchy nameHierarchy = NameHierarchy::deserialize(node.serializedName);