logic: fixed undo redo not working for functions

* added real NameHierarchy (with signatures) when creating nodes for the graph, instead of using the SearchIndex which doesn't know about signatures.
This commit is contained in:
malte_langkabel
2016-01-15 13:02:30 +01:00
parent ad3229ebb2
commit 2c4711f657
+4 -2
View File
@@ -1586,17 +1586,19 @@ void Storage::addNodesToGraph(const std::vector<Id> nodeIds, Graph* graph) const
for (const StorageNode& storageNode : storageNodes)
{
NameHierarchy nameHierarchy = NameHierarchy::deserialize(storageNode.serializedName);
Node::NodeType type = Node::intToType(storageNode.type);
Node* node = graph->createNode(
storageNode.id,
type,
m_tokenIndex.getNameHierarchyForTokenId(storageNode.id),
nameHierarchy,
storageNode.defined
);
if (type == Node::NODE_FUNCTION || type == Node::NODE_METHOD)
{
std::shared_ptr<NameElement> lastElement = NameHierarchy::deserialize(storageNode.serializedName).back();
std::shared_ptr<NameElement> lastElement = nameHierarchy.back();
if (lastElement)
{
node->addComponentSignature(