コード例 #1
0
ファイル: TypeTable.cs プロジェクト: Isira/DependencyAnalyzer
        /* Get TypeElement from a XElement*/
        private static TypeElement GetTypeElementFromXElement(XElement parentElement)
        {
            TypeElement parent = new TypeElement();

            parent.TypeName  = parentElement.Element("name").Value;
            parent.Namespace = parentElement.Element("namespace").Value;
            parent.FileName  = parentElement.Element("filename").Value;
            parent.Type      = parentElement.Element("definedType").Value;
            return(parent);
        }
コード例 #2
0
ファイル: TypeTable.cs プロジェクト: Isira/DependencyAnalyzer
        /* load XElement from TypeElement */
        private void LoadXElemenFromTypeElement(TypeElement child, XElement childElement)
        {
            XElement name = new XElement("name");

            name.Value = child.TypeName;
            childElement.Add(name);
            XElement namespce = new XElement("namespace");

            // namespce.Value = te.Namespace;
            childElement.Add(namespce);
            XElement filename = new XElement("filename");

            filename.Value = child.FileName;
            childElement.Add(filename);
            XElement definedType = new XElement("definedType");

            definedType.Value = child.Type;
            childElement.Add(definedType);
        }
コード例 #3
0
ファイル: TypeTable.cs プロジェクト: Isira/DependencyAnalyzer
        static void Main(string[] args)
        {
            RelationshipTable table  = new RelationshipTable();
            TypeElement       parent = new TypeElement();

            parent.FileName = "Test.cs";
            parent.TypeName = "Test";
            parent.Type     = "class";

            TypeElement child = new TypeElement();

            child.FileName = "Test.cs";
            child.TypeName = "Test";
            child.Type     = "class";

            table.add(parent, child);

            Console.WriteLine(table.PackageDependencyXMLRepresentation());
            Console.WriteLine(table.ToXMLString());
        }
コード例 #4
0
ファイル: TypeTable.cs プロジェクト: Isira/DependencyAnalyzer
        /* Get Relationship table from the xml string */
        public static RelationshipTable loadFromXML(string xml)
        {
            RelationshipTable table = new RelationshipTable();
            XDocument         doc   = XDocument.Parse(xml);
            XElement          root  = doc.Element("RelationshipInfo");

            foreach (XElement dependency in root.Elements("Dependency"))
            {
                XElement    childElement = dependency.Element("child");
                TypeElement child        = GetTypeElementFromXElement(childElement);

                foreach (XElement relationshipElement in childElement.Elements("Relationship"))
                {
                    XElement    parentElement = relationshipElement.Element("parent");
                    TypeElement parent        = GetTypeElementFromXElement(parentElement);
                    table.add(child, parent);
                }
            }
            return(table);
        }
コード例 #5
0
ファイル: TypeTable.cs プロジェクト: Isira/DependencyAnalyzer
        /* Add Relationship into the relationship table. */
        public bool add(TypeElement child, TypeElement parent)
        {
            if (relationshipTable.Keys.Contains(child))
            {
                foreach (TypeElement te in relationshipTable[child])
                {
                    if (te == parent)                   // Don't Add if its already existing
                    {
                        return(false);
                    }
                }
                relationshipTable[child].Add(parent);
                return(true);
            }

            List <TypeElement> parents = new List <TypeElement>();

            parents.Add(parent);

            relationshipTable[child] = parents;
            return(true);
        }
コード例 #6
0
ファイル: TypeTable.cs プロジェクト: Isira/DependencyAnalyzer
 public bool add(TypeElement element)
 {
     return(add(element.TypeName, element.Type, element.Namespace, element.FileName));
 }