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 ANameVariable extends PVariable
      9 {
     10     private TWord _word_;
     11 
     12     public ANameVariable()
     13     {
     14         // Constructor
     15     }
     16 
     17     public ANameVariable(
     18         @SuppressWarnings("hiding") TWord _word_)
     19     {
     20         // Constructor
     21         setWord(_word_);
     22 
     23     }
     24 
     25     @Override
     26     public Object clone()
     27     {
     28         return new ANameVariable(
     29             cloneNode(this._word_));
     30     }
     31 
     32     public void apply(Switch sw)
     33     {
     34         ((Analysis) sw).caseANameVariable(this);
     35     }
     36 
     37     public TWord getWord()
     38     {
     39         return this._word_;
     40     }
     41 
     42     public void setWord(TWord node)
     43     {
     44         if(this._word_ != null)
     45         {
     46             this._word_.parent(null);
     47         }
     48 
     49         if(node != null)
     50         {
     51             if(node.parent() != null)
     52             {
     53                 node.parent().removeChild(node);
     54             }
     55 
     56             node.parent(this);
     57         }
     58 
     59         this._word_ = node;
     60     }
     61 
     62     @Override
     63     public String toString()
     64     {
     65         return ""
     66             + toString(this._word_);
     67     }
     68 
     69     @Override
     70     void removeChild(@SuppressWarnings("unused") Node child)
     71     {
     72         // Remove child
     73         if(this._word_ == child)
     74         {
     75             this._word_ = null;
     76             return;
     77         }
     78 
     79         throw new RuntimeException("Not a child.");
     80     }
     81 
     82     @Override
     83     void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild)
     84     {
     85         // Replace child
     86         if(this._word_ == oldChild)
     87         {
     88             setWord((TWord) newChild);
     89             return;
     90         }
     91 
     92         throw new RuntimeException("Not a child.");
     93     }
     94 }
     95