예제 #1
0
        void UpdateChildrenArray()
        {
            lock (children)
            {
                children.Clear();

                if (additionalChildren.Count != 0)
                {
                    children.AddRange(additionalChildren);
                }

                if (_In != null)
                {
                    children.AddRange(_In.Declarations);
                }

                if (_Body != null)
                {
                    children.AddRange(_Body.Declarations);
                }

                if (_Out != null)
                {
                    children.AddRange(_Out.Declarations);
                }
            }
        }
예제 #2
0
        public override void AssignFrom(INode other)
        {
            if (other is DMethod)
            {
                var dm = (DMethod)other;

                Parameters  = dm.Parameters;
                SpecialType = dm.SpecialType;
                _In         = dm._In;
                _Out        = dm._Out;
                _Body       = dm._Body;
                children.AddRange(dm.children);
            }

            base.AssignFrom(other);
        }
예제 #3
0
        public void UpdateChildrenArray()
        {
            lock (children)
            {
                children.Clear();

                if (additionalChildren.Count != 0)
                {
                    children.AddRange(additionalChildren);
                }

                children.Sort();
            }
        }
예제 #4
0
 public void AddRange(IEnumerable <INode> Nodes)
 {
     _Children.AddRange(Nodes);
 }