Esempio n. 1
0
        private static ParsedTypeInfo ParseClass(XElement classElement)
        {
            if (classElement != null)
            {
                var parsedClass = new ParsedTypeInfo
                {
                    AssemblyQualifiedName = String.Empty,
                    Namespace             = classElement.Attribute(XmlNames.NamespaceAttribute)?.Value,
                    Name   = classElement.Attribute(XmlNames.NameAttribute)?.Value,
                    Fields = ParseFields(classElement.Element(XmlNames.FieldsTag)),
                    ImplementedInterfaces = ParseImplementedInterfaces(classElement.Element(XmlNames.ImplementedInterfacesTag)),
                    InheritedTypes        = ParseInheritedClasses(classElement.Element(XmlNames.InheritedClassesTag)),
                    Methods = ParseMethods(classElement.Element(XmlNames.MethodsTag))
                };

                return(parsedClass);
            }

            return(null);
        }
Esempio n. 2
0
        private static List <TreeNode> BuildClassNode(ParsedTypeInfo classInfo)
        {
            var classNodes = new List <TreeNode>();
            var classNode  = new TreeNode($"<{XmlNames.ClassTag} {XmlNames.NamespaceAttribute}=\"{classInfo.Namespace}\" {XmlNames.NameAttribute}=\"{classInfo.Name}\">");


            var fieldsNode = BuildFieldsTreeNode(classInfo.Fields);

            if (fieldsNode != null)
            {
                classNode.Nodes.AddRange(fieldsNode.ToArray());
            }

            var methodsNode = BuildMethodsTreeNode(classInfo.Methods);

            if (methodsNode != null)
            {
                classNode.Nodes.AddRange(methodsNode.ToArray());
            }

            var interfacesNode = BuildImplementedInterfaces(classInfo.ImplementedInterfaces);

            if (interfacesNode != null)
            {
                classNode.Nodes.AddRange(interfacesNode.ToArray());
            }

            var inheritedClassesNode = BuildInheritedClasses(classInfo.InheritedTypes);

            if (inheritedClassesNode != null)
            {
                classNode.Nodes.AddRange(inheritedClassesNode.ToArray());
            }

            classNodes.Add(classNode);
            classNodes.Add(new TreeNode($"</{XmlNames.ClassTag}>"));

            return(classNodes);
        }