Esempio n. 1
0
        public void Execute()
        {
            Debug.Assert(infos == null);
            if (infos != null)
            {
                throw new InvalidOperationException();
            }

            nodes.Delete();

            infos = new ModelInfo[nodes.Count];
            for (int i = 0; i < infos.Length; i++)
            {
                var nsNode = nodes.Nodes[i];

                var info = new ModelInfo();
                infos[i]        = info;
                info.Namespaces = new UTF8String[nsNode.TreeNode.Children.Count];
                info.TypeNodes  = new DeletableNodes <TypeNode>(nsNode.TreeNode.DataChildren.Cast <TypeNode>());
                info.TypeNodes.Delete();

                for (int j = 0; j < info.Namespaces.Length; j++)
                {
                    var typeNode = info.TypeNodes.Nodes[j];
                    info.Namespaces[j]         = typeNode.TypeDef.Namespace;
                    typeNode.TypeDef.Namespace = UTF8String.Empty;
                    nsTarget.TreeNode.Children.Add(typeNode.TreeNode);
                }
            }

            foreach (var info in typeRefInfos)
            {
                info.TypeRef.Namespace = UTF8String.Empty;
            }
        }
Esempio n. 2
0
 public void Execute()
 {
     nodes.Delete();
     modelNodes.Delete(nodes.Nodes);
 }