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 AEvarCommand extends PCommand 9 { 10 private PPosition _position_; 11 private PExpression _expression_; 12 13 public AEvarCommand() 14 { 15 // Constructor 16 } 17 18 public AEvarCommand( 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 AEvarCommand( 33 cloneNode(this._position_), 34 cloneNode(this._expression_)); 35 } 36 37 public void apply(Switch sw) 38 { 39 ((Analysis) sw).caseAEvarCommand(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