TypeNode AddClass(TypeDefinition typeDefinition)
{
allClasses.Remove(typeDefinition);
var typeNode = new TypeNode
{
TypeDefinition = typeDefinition
};
if (typeDefinition.BaseType.Scope.Name != moduleDefinition.Name)
{
Nodes.Add(typeNode);
}
else
{
var baseType = typeResolver.Resolve(typeDefinition.BaseType);
var parentNode = FindClassNode(baseType, Nodes);
if (parentNode == null)
{
parentNode = AddClass(baseType);
}
parentNode.Nodes.Add(typeNode);
}
return typeNode;
}