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 AVariableExpression extends PExpression 9 { 10 private PVariable _variable_; 11 12 public AVariableExpression() 13 { 14 // Constructor 15 } 16 17 public AVariableExpression( 18 @SuppressWarnings("hiding") PVariable _variable_) 19 { 20 // Constructor 21 setVariable(_variable_); 22 23 } 24 25 @Override 26 public Object clone() 27 { 28 return new AVariableExpression( 29 cloneNode(this._variable_)); 30 } 31 32 public void apply(Switch sw) 33 { 34 ((Analysis) sw).caseAVariableExpression(this); 35 } 36 37 public PVariable getVariable() 38 { 39 return this._variable_; 40 } 41 42 public void setVariable(PVariable node) 43 { 44 if(this._variable_ != null) 45 { 46 this._variable_.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._variable_ = node; 60 } 61 62 @Override 63 public String toString() 64 { 65 return "" 66 + toString(this._variable_); 67 } 68 69 @Override 70 void removeChild(@SuppressWarnings("unused") Node child) 71 { 72 // Remove child 73 if(this._variable_ == child) 74 { 75 this._variable_ = 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._variable_ == oldChild) 87 { 88 setVariable((PVariable) newChild); 89 return; 90 } 91 92 throw new RuntimeException("Not a child."); 93 } 94 } 95