Home | History | Annotate | Download | only in node
      1 /* This file was generated by SableCC (http://www.sablecc.org/). */
      2 
      3 package com.google.clearsilver.jsilver.syntax.node;
      4 
      5 import com.google.clearsilver.jsilver.syntax.analysis.*;
      6 
      7 @SuppressWarnings("nls")
      8 public final class AVarCommand extends PCommand
      9 {
     10     private PPosition _position_;
     11     private PExpression _expression_;
     12 
     13     public AVarCommand()
     14     {
     15         // Constructor
     16     }
     17 
     18     public AVarCommand(
     19         @SuppressWarnings("hiding") PPosition _position_,
     20         @SuppressWarnings("hiding") PExpression _expression_)
     21     {
     22         // Constructor
     23         setPosition(_position_);
     24 
     25         setExpression(_expression_);
     26 
     27     }
     28 
     29     @Override
     30     public Object clone()
     31     {
     32         return new AVarCommand(
     33             cloneNode(this._position_),
     34             cloneNode(this._expression_));
     35     }
     36 
     37     public void apply(Switch sw)
     38     {
     39         ((Analysis) sw).caseAVarCommand(this);
     40     }
     41 
     42     public PPosition getPosition()
     43     {
     44         return this._position_;
     45     }
     46 
     47     public void setPosition(PPosition node)
     48     {
     49         if(this._position_ != null)
     50         {
     51             this._position_.parent(null);
     52         }
     53 
     54         if(node != null)
     55         {
     56             if(node.parent() != null)
     57             {
     58                 node.parent().removeChild(node);
     59             }
     60 
     61             node.parent(this);
     62         }
     63 
     64         this._position_ = node;
     65     }
     66 
     67     public PExpression getExpression()
     68     {
     69         return this._expression_;
     70     }
     71 
     72     public void setExpression(PExpression node)
     73     {
     74         if(this._expression_ != null)
     75         {
     76             this._expression_.parent(null);
     77         }
     78 
     79         if(node != null)
     80         {
     81             if(node.parent() != null)
     82             {
     83                 node.parent().removeChild(node);
     84             }
     85 
     86             node.parent(this);
     87         }
     88 
     89         this._expression_ = node;
     90     }
     91 
     92     @Override
     93     public String toString()
     94     {
     95         return ""
     96             + toString(this._position_)
     97             + toString(this._expression_);
     98     }
     99 
    100     @Override
    101     void removeChild(@SuppressWarnings("unused") Node child)
    102     {
    103         // Remove child
    104         if(this._position_ == child)
    105         {
    106             this._position_ = null;
    107             return;
    108         }
    109 
    110         if(this._expression_ == child)
    111         {
    112             this._expression_ = null;
    113             return;
    114         }
    115 
    116         throw new RuntimeException("Not a child.");
    117     }
    118 
    119     @Override
    120     void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild)
    121     {
    122         // Replace child
    123         if(this._position_ == oldChild)
    124         {
    125             setPosition((PPosition) newChild);
    126             return;
    127         }
    128 
    129         if(this._expression_ == oldChild)
    130         {
    131             setExpression((PExpression) newChild);
    132             return;
    133         }
    134 
    135         throw new RuntimeException("Not a child.");
    136     }
    137 }
    138