AGteExpression.java revision 56ed4167b942ec265f9cee70ac4d71d10b3835ce
13a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org/* This file was generated by SableCC (http://www.sablecc.org/). */ 23a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 33a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgpackage com.google.clearsilver.jsilver.syntax.node; 43a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 53a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgimport com.google.clearsilver.jsilver.syntax.analysis.*; 63a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 73a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org@SuppressWarnings("nls") 83a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.orgpublic final class AGteExpression extends PExpression 93a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org{ 103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org private PExpression _left_; 113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org private PExpression _right_; 123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org public AGteExpression() 143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org { 153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org // Constructor 163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org } 173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org public AGteExpression( 193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org @SuppressWarnings("hiding") PExpression _left_, 203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org @SuppressWarnings("hiding") PExpression _right_) 213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org { 223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org // Constructor 233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org setLeft(_left_); 243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org setRight(_right_); 263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org } 283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org @Override 303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org public Object clone() 31760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org { 32760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org return new AGteExpression( 33760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org cloneNode(this._left_), 34760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org cloneNode(this._right_)); 35760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org } 363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org public void apply(Switch sw) 383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org { 393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org ((Analysis) sw).caseAGteExpression(this); 403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org } 413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org public PExpression getLeft() 433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org { 443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org return this._left_; 45760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org } 46760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org 473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org public void setLeft(PExpression node) 483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org { 493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org if(this._left_ != null) 503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org { 513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org this._left_.parent(null); 523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org } 533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org if(node != null) 553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org { 563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org if(node.parent() != null) 573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org { 583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org node.parent().removeChild(node); 59760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org } 60760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org 61760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org node.parent(this); 62760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org } 63760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org 64760fd893ba809a7a5daa25c2749ff502f7186e83kbr@chromium.org this._left_ = node; 653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org } 663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org 673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org public PExpression getRight() 683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org { 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