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