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 java.util.*; 656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodsonimport com.google.clearsilver.jsilver.syntax.analysis.*; 756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson@SuppressWarnings("nls") 956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodsonpublic final class AMultipleCommand extends PCommand 1056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson{ 1156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson private final LinkedList<PCommand> _command_ = new LinkedList<PCommand>(); 1256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 1356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson public AMultipleCommand() 1456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 1556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson // Constructor 1656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 1756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 1856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson public AMultipleCommand( 1956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson @SuppressWarnings("hiding") List<PCommand> _command_) 2056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 2156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson // Constructor 2256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson setCommand(_command_); 2356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 2456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 2556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 2656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson @Override 2756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson public Object clone() 2856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 2956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson return new AMultipleCommand( 3056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson cloneList(this._command_)); 3156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 3256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 3356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson public void apply(Switch sw) 3456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 3556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson ((Analysis) sw).caseAMultipleCommand(this); 3656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 3756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 3856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson public LinkedList<PCommand> getCommand() 3956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 4056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson return this._command_; 4156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 4256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 4356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson public void setCommand(List<PCommand> list) 4456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 4556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson this._command_.clear(); 4656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson this._command_.addAll(list); 4756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson for(PCommand e : list) 4856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 4956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson if(e.parent() != null) 5056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 5156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson e.parent().removeChild(e); 5256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 5356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 5456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson e.parent(this); 5556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 5656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 5756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 5856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson @Override 5956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson public String toString() 6056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 6156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson return "" 6256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson + toString(this._command_); 6356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 6456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 6556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson @Override 6656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson void removeChild(@SuppressWarnings("unused") Node child) 6756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 6856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson // Remove child 6956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson if(this._command_.remove(child)) 7056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 7156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson return; 7256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 7356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 7456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson throw new RuntimeException("Not a child."); 7556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 7656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 7756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson @Override 7856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild) 7956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 8056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson // Replace child 8156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson for(ListIterator<PCommand> i = this._command_.listIterator(); i.hasNext();) 8256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 8356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson if(i.next() == oldChild) 8456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 8556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson if(newChild != null) 8656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson { 8756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson i.set((PCommand) newChild); 8856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson newChild.parent(this); 8956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson oldChild.parent(null); 9056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson return; 9156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 9256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 9356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson i.remove(); 9456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson oldChild.parent(null); 9556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson return; 9656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 9756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 9856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson 9956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson throw new RuntimeException("Not a child."); 10056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson } 10156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson} 102