ALteExpression.java revision 56ed4167b942ec265f9cee70ac4d71d10b3835ce
141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot/* This file was generated by SableCC (http://www.sablecc.org/). */ 241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot 341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabotpackage com.google.clearsilver.jsilver.syntax.node; 41be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 51be2c9def7187e4e643c00a31dd9986395795d7dNicolas Cataniaimport com.google.clearsilver.jsilver.syntax.analysis.*; 61be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 71be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania@SuppressWarnings("nls") 81be2c9def7187e4e643c00a31dd9986395795d7dNicolas Cataniapublic final class ALteExpression extends PExpression 91be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania{ 101be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania private PExpression _left_; 111be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania private PExpression _right_; 121be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 131be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania public ALteExpression() 141be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania { 151be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania // Constructor 161be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 171be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 181be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania public ALteExpression( 191be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania @SuppressWarnings("hiding") PExpression _left_, 201be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania @SuppressWarnings("hiding") PExpression _right_) 211be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania { 221be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania // Constructor 231be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania setLeft(_left_); 241be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 251be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania setRight(_right_); 261be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 271be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 281be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 291be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania @Override 301be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania public Object clone() 311be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania { 321be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania return new ALteExpression( 331be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania cloneNode(this._left_), 341be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania cloneNode(this._right_)); 351be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 361be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 371be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania public void apply(Switch sw) 381be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania { 391be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania ((Analysis) sw).caseALteExpression(this); 401be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 411be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 421be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania public PExpression getLeft() 431be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania { 441be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania return this._left_; 451be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 461be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 4741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot public void setLeft(PExpression node) 481be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania { 4941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot if(this._left_ != null) 5041d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot { 51fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes this._left_.parent(null); 5241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot } 5341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot 5441d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot if(node != null) 55fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes { 561be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania if(node.parent() != null) 571be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania { 581be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania node.parent().removeChild(node); 591be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 601be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 6141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot node.parent(this); 6241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot } 631be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 64fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes this._left_ = node; 6541d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot } 661be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 671be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania public PExpression getRight() 68fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes { 691be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania return this._right_; 701be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 711be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 72fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes public void setRight(PExpression node) 7341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot { 74fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes if(this._right_ != null) 7541d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot { 76fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes this._right_.parent(null); 771be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 781be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 7941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot if(node != null) 801be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania { 81fc2de66453b0669c09eaca643b07d34443858b6fElliott Hughes if(node.parent() != null) 8241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot { 8341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot node.parent().removeChild(node); 841be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 851be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 8641d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot node.parent(this); 8741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot } 881be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 891be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania this._right_ = node; 9041d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot } 9141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot 9241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot @Override 9341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot public String toString() 9441d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot { 9541d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot return "" 9641d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot + toString(this._left_) 9741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot + toString(this._right_); 9841d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot } 9941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot 10041d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot @Override 10141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot void removeChild(@SuppressWarnings("unused") Node child) 10241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot { 10341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot // Remove child 1041be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania if(this._left_ == child) 1051be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania { 1061be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania this._left_ = null; 1071be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania return; 1081be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 1091be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 1101be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania if(this._right_ == child) 1111be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania { 1121be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania this._right_ = null; 1131be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania return; 1141be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 1151be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 1161be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania throw new RuntimeException("Not a child."); 1171be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 1181be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 1191be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania @Override 1201be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild) 1211be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania { 1221be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania // Replace child 1231be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania if(this._left_ == oldChild) 1241be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania { 1251be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania setLeft((PExpression) newChild); 1261be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania return; 1271be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 1281be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 1291be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania if(this._right_ == oldChild) 1301be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania { 1311be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania setRight((PExpression) newChild); 1321be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania return; 1331be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 1341be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania 1351be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania throw new RuntimeException("Not a child."); 1361be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania } 1371be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania} 1381be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania