internal override void RemoveChild(Node child)
 {
     if (_receiver_ == child)
     {
         _receiver_ = null;
         return;
     }
     if (_dot_type_ == child)
     {
         _dot_type_ = null;
         return;
     }
     if (_name_ == child)
     {
         _name_ = null;
         return;
     }
 }
        public void SetDotType(PDotType node)
        {
            if (_dot_type_ != null)
            {
                _dot_type_.Parent(null);
            }

            if (node != null)
            {
                if (node.Parent() != null)
                {
                    node.Parent().RemoveChild(node);
                }

                node.Parent(this);
            }

            _dot_type_ = node;
        }
 internal override void RemoveChild(Node child)
 {
     if (_receiver_ == child)
     {
         _receiver_ = null;
         return;
     }
     if (_dot_type_ == child)
     {
         _dot_type_ = null;
         return;
     }
     if (_name_ == child)
     {
         _name_ = null;
         return;
     }
     if (_args_.Contains(child))
     {
         _args_.Remove(child);
         return;
     }
 }
 public AStructLvalue(
         PExp _receiver_,
         PDotType _dot_type_,
         TIdentifier _name_
 )
 {
     SetReceiver(_receiver_);
     SetDotType(_dot_type_);
     SetName(_name_);
 }
 public ANonstaticInvokeExp(
         PExp _receiver_,
         PDotType _dot_type_,
         TIdentifier _name_,
         IList _args_
 )
 {
     SetReceiver(_receiver_);
     SetDotType(_dot_type_);
     SetName(_name_);
     this._args_ = new TypedList(new Args_Cast(this));
     this._args_.Clear();
     this._args_.AddAll(_args_);
 }