1/* This file was generated by SableCC (http://www.sablecc.org/). */ 2 3package com.google.clearsilver.jsilver.syntax.node; 4 5import java.util.*; 6import com.google.clearsilver.jsilver.syntax.analysis.*; 7 8@SuppressWarnings("nls") 9public final class AMultipleCommand extends PCommand 10{ 11 private final LinkedList<PCommand> _command_ = new LinkedList<PCommand>(); 12 13 public AMultipleCommand() 14 { 15 // Constructor 16 } 17 18 public AMultipleCommand( 19 @SuppressWarnings("hiding") List<PCommand> _command_) 20 { 21 // Constructor 22 setCommand(_command_); 23 24 } 25 26 @Override 27 public Object clone() 28 { 29 return new AMultipleCommand( 30 cloneList(this._command_)); 31 } 32 33 public void apply(Switch sw) 34 { 35 ((Analysis) sw).caseAMultipleCommand(this); 36 } 37 38 public LinkedList<PCommand> getCommand() 39 { 40 return this._command_; 41 } 42 43 public void setCommand(List<PCommand> list) 44 { 45 this._command_.clear(); 46 this._command_.addAll(list); 47 for(PCommand e : list) 48 { 49 if(e.parent() != null) 50 { 51 e.parent().removeChild(e); 52 } 53 54 e.parent(this); 55 } 56 } 57 58 @Override 59 public String toString() 60 { 61 return "" 62 + toString(this._command_); 63 } 64 65 @Override 66 void removeChild(@SuppressWarnings("unused") Node child) 67 { 68 // Remove child 69 if(this._command_.remove(child)) 70 { 71 return; 72 } 73 74 throw new RuntimeException("Not a child."); 75 } 76 77 @Override 78 void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild) 79 { 80 // Replace child 81 for(ListIterator<PCommand> i = this._command_.listIterator(); i.hasNext();) 82 { 83 if(i.next() == oldChild) 84 { 85 if(newChild != null) 86 { 87 i.set((PCommand) newChild); 88 newChild.parent(this); 89 oldChild.parent(null); 90 return; 91 } 92 93 i.remove(); 94 oldChild.parent(null); 95 return; 96 } 97 } 98 99 throw new RuntimeException("Not a child."); 100 } 101} 102