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
+10
View File
@@ -125,6 +125,8 @@ std::string Edge::getTypeString(EdgeType type) const
return "type_usage";
case EDGE_INHERITANCE:
return "inheritance";
case EDGE_OVERRIDE:
return "override";
case EDGE_CALL:
return "call";
case EDGE_USAGE:
@@ -215,6 +217,14 @@ bool Edge::checkType() const
}
return true;
case EDGE_OVERRIDE:
if (!m_from->isType(Node::NODE_UNDEFINED_FUNCTION | Node::NODE_METHOD) ||
!m_to->isType(Node::NODE_UNDEFINED_FUNCTION | Node::NODE_METHOD))
{
break;
}
return true;
case EDGE_CALL:
if (!m_from->isType(variableMask | functionMask) || !m_to->isType(functionMask))
{
+7 -6
View File
@@ -25,13 +25,14 @@ public:
EDGE_USAGE = 0x20,
EDGE_CALL = 0x40,
EDGE_INHERITANCE = 0x80,
EDGE_TYPEDEF_OF = 0x100,
EDGE_TEMPLATE_PARAMETER_OF = 0x200,
EDGE_TEMPLATE_ARGUMENT_OF = 0x400,
EDGE_TEMPLATE_DEFAULT_ARGUMENT_OF = 0x800,
EDGE_TEMPLATE_SPECIALIZATION_OF = 0x1000,
EDGE_OVERRIDE = 0x100,
EDGE_TYPEDEF_OF = 0x200,
EDGE_TEMPLATE_PARAMETER_OF = 0x400,
EDGE_TEMPLATE_ARGUMENT_OF = 0x800,
EDGE_TEMPLATE_DEFAULT_ARGUMENT_OF = 0x1000,
EDGE_TEMPLATE_SPECIALIZATION_OF = 0x2000,
EDGE_AGGREGATION = 0x2000
EDGE_AGGREGATION = 0x4000
};
Edge(EdgeType type, Node* from, Node* to);