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 ANumericAddExpression extends PExpression
      9 {
     10     private PExpression _left_;
     11     private PExpression _right_;
     12 
     13     public ANumericAddExpression()
     14     {
     15         // Constructor
     16     }
     17 
     18     public ANumericAddExpression(
     19         @SuppressWarnings("hiding") PExpression _left_,
     20         @SuppressWarnings("hiding") PExpression _right_)
     21     {
     22         // Constructor
     23         setLeft(_left_);
     24 
     25         setRight(_right_);
     26 
     27     }
     28 
     29     @Override
     30     public Object clone()
     31     {
     32         return new ANumericAddExpression(
     33             cloneNode(this._left_),
     34             cloneNode(this._right_));
     35     }
     36 
     37     public void apply(Switch sw)
     38     {
     39         ((Analysis) sw).caseANumericAddExpression(this);
     40     }
     41 
     42     public PExpression getLeft()
     43     {
     44         return this._left_;
     45     }
     46 
     47     public void setLeft(PExpression node)
     48     {
     49         if(this._left_ != null)
     50         {
     51             this._left_.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._left_ = node;
     65     }
     66 
     67     public PExpression getRight()
     68     {
     69         return this._right_;
     70     }
     71 
     72     public void setRight(PExpression node)
     73     {
     74         if(this._right_ != null)
     75         {
     76             this._right_.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._right_ = node;
     90     }
     91 
     92     @Override
     93     public String toString()
     94     {
     95         return ""
     96             + toString(this._left_)
     97             + toString(this._right_);
     98     }
     99 
    100     @Override
    101     void removeChild(@SuppressWarnings("unused") Node child)
    102     {
    103         // Remove child
    104         if(this._left_ == child)
    105         {
    106             this._left_ = null;
    107             return;
    108         }
    109 
    110         if(this._right_ == child)
    111         {
    112             this._right_ = 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._left_ == oldChild)
    124         {
    125             setLeft((PExpression) newChild);
    126             return;
    127         }
    128 
    129         if(this._right_ == oldChild)
    130         {
    131             setRight((PExpression) newChild);
    132             return;
    133         }
    134 
    135         throw new RuntimeException("Not a child.");
    136     }
    137 }
    138