content: /* This file was generated by SableCC (http://www.sablecc.org/). */
  
  package com.abstratt.mdd.frontend.textuml.grammar.node;
  
  import com.abstratt.mdd.frontend.textuml.grammar.analysis.*;
  
  @SuppressWarnings("nls")
  public final class ASendSpecificStatement extends PSpecificStatement
  {
      private TSend _send_;
      private PMinimalTypeIdentifier _signal_;
      private TLParen _lParen_;
      private PNamedArgumentList _namedArgumentList_;
      private TRParen _rParen_;
      private TTo _to_;
      private PRootExpression _target_;
  
      public ASendSpecificStatement()
      {
          // Constructor
      }
  
      public ASendSpecificStatement(
          @SuppressWarnings("hiding") TSend _send_,
          @SuppressWarnings("hiding") PMinimalTypeIdentifier _signal_,
          @SuppressWarnings("hiding") TLParen _lParen_,
          @SuppressWarnings("hiding") PNamedArgumentList _namedArgumentList_,
          @SuppressWarnings("hiding") TRParen _rParen_,
          @SuppressWarnings("hiding") TTo _to_,
          @SuppressWarnings("hiding") PRootExpression _target_)
      {
          // Constructor
          setSend(_send_);
  
          setSignal(_signal_);
  
          setLParen(_lParen_);
  
          setNamedArgumentList(_namedArgumentList_);
  
          setRParen(_rParen_);
  
          setTo(_to_);
  
          setTarget(_target_);
  
      }
  
      @Override
      public Object clone()
      {
          return new ASendSpecificStatement(
              cloneNode(this._send_),
              cloneNode(this._signal_),
              cloneNode(this._lParen_),
              cloneNode(this._namedArgumentList_),
              cloneNode(this._rParen_),
              cloneNode(this._to_),
              cloneNode(this._target_));
      }
  
      public void apply(Switch sw)
      {
          ((Analysis) sw).caseASendSpecificStatement(this);
      }
  
      public TSend getSend()
      {
          return this._send_;
      }
  
      public void setSend(TSend node)
      {
          if(this._send_ != null)
          {
              this._send_.parent(null);
          }
  
          if(node != null)
          {
              if(node.parent() != null)
              {
                  node.parent().removeChild(node);
              }
  
              node.parent(this);
          }
  
          this._send_ = node;
      }
  
      public PMinimalTypeIdentifier getSignal()
      {
          return this._signal_;
      }
  
      public void setSignal(PMinimalTypeIdentifier node)
      {
          if(this._signal_ != null)
          {
              this._signal_.parent(null);
          }
  
          if(node != null)
          {
              if(node.parent() != null)
              {
                  node.parent().removeChild(node);
              }
  
              node.parent(this);
          }
  
          this._signal_ = node;
      }
  
      public TLParen getLParen()
      {
          return this._lParen_;
      }
  
      public void setLParen(TLParen node)
      {
          if(this._lParen_ != null)
          {
              this._lParen_.parent(null);
          }
  
          if(node != null)
          {
              if(node.parent() != null)
              {
                  node.parent().removeChild(node);
              }
  
              node.parent(this);
          }
  
          this._lParen_ = node;
      }
  
      public PNamedArgumentList getNamedArgumentList()
      {
          return this._namedArgumentList_;
      }
  
      public void setNamedArgumentList(PNamedArgumentList node)
      {
          if(this._namedArgumentList_ != null)
          {
              this._namedArgumentList_.parent(null);
          }
  
          if(node != null)
          {
              if(node.parent() != null)
              {
                  node.parent().removeChild(node);
              }
  
              node.parent(this);
          }
  
          this._namedArgumentList_ = node;
      }
  
      public TRParen getRParen()
      {
          return this._rParen_;
      }
  
      public void setRParen(TRParen node)
      {
          if(this._rParen_ != null)
          {
              this._rParen_.parent(null);
          }
  
          if(node != null)
          {
              if(node.parent() != null)
              {
                  node.parent().removeChild(node);
              }
  
              node.parent(this);
          }
  
          this._rParen_ = node;
      }
  
      public TTo getTo()
      {
          return this._to_;
      }
  
      public void setTo(TTo node)
      {
          if(this._to_ != null)
          {
              this._to_.parent(null);
          }
  
          if(node != null)
          {
              if(node.parent() != null)
              {
                  node.parent().removeChild(node);
              }
  
              node.parent(this);
          }
  
          this._to_ = node;
      }
  
      public PRootExpression getTarget()
      {
          return this._target_;
      }
  
      public void setTarget(PRootExpression node)
      {
          if(this._target_ != null)
          {
              this._target_.parent(null);
          }
  
          if(node != null)
          {
              if(node.parent() != null)
              {
                  node.parent().removeChild(node);
              }
  
              node.parent(this);
          }
  
          this._target_ = node;
      }
  
      @Override
      public String toString()
      {
          return ""
              + toString(this._send_)
              + toString(this._signal_)
              + toString(this._lParen_)
              + toString(this._namedArgumentList_)
              + toString(this._rParen_)
              + toString(this._to_)
              + toString(this._target_);
      }
  
      @Override
      void removeChild(@SuppressWarnings("unused") Node child)
      {
          // Remove child
          if(this._send_ == child)
          {
              this._send_ = null;
              return;
          }
  
          if(this._signal_ == child)
          {
              this._signal_ = null;
              return;
          }
  
          if(this._lParen_ == child)
          {
              this._lParen_ = null;
              return;
          }
  
          if(this._namedArgumentList_ == child)
          {
              this._namedArgumentList_ = null;
              return;
          }
  
          if(this._rParen_ == child)
          {
              this._rParen_ = null;
              return;
          }
  
          if(this._to_ == child)
          {
              this._to_ = null;
              return;
          }
  
          if(this._target_ == child)
          {
              this._target_ = null;
              return;
          }
  
          throw new RuntimeException("Not a child.");
      }
  
      @Override
      void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild)
      {
          // Replace child
          if(this._send_ == oldChild)
          {
              setSend((TSend) newChild);
              return;
          }
  
          if(this._signal_ == oldChild)
          {
              setSignal((PMinimalTypeIdentifier) newChild);
              return;
          }
  
          if(this._lParen_ == oldChild)
          {
              setLParen((TLParen) newChild);
              return;
          }
  
          if(this._namedArgumentList_ == oldChild)
          {
              setNamedArgumentList((PNamedArgumentList) newChild);
              return;
          }
  
          if(this._rParen_ == oldChild)
          {
              setRParen((TRParen) newChild);
              return;
          }
  
          if(this._to_ == oldChild)
          {
              setTo((TTo) newChild);
              return;
          }
  
          if(this._target_ == oldChild)
          {
              setTarget((PRootExpression) newChild);
              return;
          }
  
          throw new RuntimeException("Not a child.");
      }
  }
  