Ejemplo n.º 1
0
 /// <summary>
 /// Add the <see cref="NamespaceTreeNode"/> if it doesn't exist
 /// </summary>
 public void Add()
 {
     if (nsNodeCreated)
     {
         asmNode.AddToChildren(nsNode);
         nsNode.OnReadded();
     }
 }
Ejemplo n.º 2
0
        public void Execute()
        {
            UTF8String newNamespace = newName;

            if (existingNsNode != null)
            {
                Debug.Assert(origChildren.Length == nsNode.Children.Count);
                foreach (var typeNode in origChildren)
                {
                    typeNode.OnBeforeRemoved();
                }
                nsNode.Children.Clear();
                foreach (var typeNode in origChildren)
                {
                    typeNode.TypeDef.Namespace = newNamespace;
                    existingNsNode.AddToChildren(typeNode);
                    typeNode.OnReadded();
                }
            }
            else
            {
                nsNode.OnBeforeRemoved();
                bool b = origParentChildIndex < origParentNode.Children.Count && origParentNode.Children[origParentChildIndex] == nsNode;
                Debug.Assert(b);
                if (!b)
                {
                    throw new InvalidOperationException();
                }
                origParentNode.Children.RemoveAt(origParentChildIndex);
                nsNode.Name = newName;

                foreach (var typeNode in origChildren)
                {
                    typeNode.TypeDef.Namespace = newNamespace;
                }

                origParentNode.AddToChildren(nsNode);
                nsNode.OnReadded();
            }

            foreach (var info in typeRefInfos)
            {
                info.TypeRef.Namespace = newNamespace;
            }
        }