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