156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson/* This file was generated by SableCC (http://www.sablecc.org/). */ 256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodsonpackage com.google.clearsilver.jsilver.syntax.node; 456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodsonimport com.google.clearsilver.jsilver.syntax.analysis.*; 656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson@SuppressWarnings("nls") 856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodsonpublic final class ANotExpression extends PExpression 956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson{ 1056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson private PExpression _expression_; 1156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 1256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson public ANotExpression() 1356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 1456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson // Constructor 1556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 1656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 1756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson public ANotExpression( 1856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson @SuppressWarnings("hiding") PExpression _expression_) 1956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 2056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson // Constructor 2156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson setExpression(_expression_); 2256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 2356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 2456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 2556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson @Override 2656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson public Object clone() 2756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 2856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson return new ANotExpression( 2956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson cloneNode(this._expression_)); 3056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 3156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 3256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson public void apply(Switch sw) 3356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 3456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson ((Analysis) sw).caseANotExpression(this); 3556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 3656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 3756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson public PExpression getExpression() 3856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 3956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson return this._expression_; 4056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 4156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 4256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson public void setExpression(PExpression node) 4356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 4456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson if(this._expression_ != null) 4556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 4656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson this._expression_.parent(null); 4756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 4856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 4956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson if(node != null) 5056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 5156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson if(node.parent() != null) 5256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 5356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson node.parent().removeChild(node); 5456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 5556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 5656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson node.parent(this); 5756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 5856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 5956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson this._expression_ = node; 6056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 6156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 6256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson @Override 6356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson public String toString() 6456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 6556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson return "" 6656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson + toString(this._expression_); 6756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 6856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 6956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson @Override 7056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson void removeChild(@SuppressWarnings("unused") Node child) 7156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 7256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson // Remove child 7356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson if(this._expression_ == child) 7456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 7556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson this._expression_ = null; 7656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson return; 7756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 7856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 7956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson throw new RuntimeException("Not a child."); 8056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 8156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 8256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson @Override 8356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild) 8456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 8556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson // Replace child 8656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson if(this._expression_ == oldChild) 8756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 8856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson setExpression((PExpression) newChild); 8956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson return; 9056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 9156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 9256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson throw new RuntimeException("Not a child."); 9356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 9456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson} 95