data: parsing and saving method overrides

This change parses method overrides and saves them in the Storage with type EDGE_OVERRIDE.
This commit is contained in:
Eberhard Graether
2015-02-10 12:18:40 +01:00
parent 53eab0a517
commit 51c6675464
14 changed files with 195 additions and 52 deletions
+12
View File
@@ -357,6 +357,18 @@ Id Storage::onInheritanceParsed(
return edge->getId();
}
Id Storage::onMethodOverrideParsed(const ParseFunction& base, const ParseFunction& overrider)
{
log("override", base.getFullName() + " -> " + overrider.getFullName(), ParseLocation());
Node* baseNode = addNodeHierarchyWithDistinctSignature(Node::NODE_UNDEFINED_FUNCTION, base);
Node* overriderNode = addNodeHierarchyWithDistinctSignature(Node::NODE_UNDEFINED_FUNCTION, overrider);
Edge* edge = m_graph.createEdge(Edge::EDGE_OVERRIDE, baseNode, overriderNode);
return edge->getId();
}
Id Storage::onCallParsed(const ParseLocation& location, const ParseFunction& caller, const ParseFunction& callee)
{
log("call", caller.getFullName() + " -> " + callee.getFullName(), location);