00001 package edu.ksu.cis.bandera.jjjc.node;
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 import ca.mcgill.sable.util.*;
00037 import edu.ksu.cis.bandera.jjjc.analysis.*;
00038
00039 public final class AOldThisConstructorInvocation extends PConstructorInvocation
00040 {
00041 private TThis _this_;
00042 private TLPar _lPar_;
00043 private PArgumentList _argumentList_;
00044 private TRPar _rPar_;
00045 private TSemicolon _semicolon_;
00046
00047 public AOldThisConstructorInvocation()
00048 {
00049 }
00050 public AOldThisConstructorInvocation(
00051 TThis _this_,
00052 TLPar _lPar_,
00053 PArgumentList _argumentList_,
00054 TRPar _rPar_,
00055 TSemicolon _semicolon_)
00056 {
00057 setThis(_this_);
00058
00059 setLPar(_lPar_);
00060
00061 setArgumentList(_argumentList_);
00062
00063 setRPar(_rPar_);
00064
00065 setSemicolon(_semicolon_);
00066
00067 }
00068 public void apply(Switch sw)
00069 {
00070 ((Analysis) sw).caseAOldThisConstructorInvocation(this);
00071 }
00072 public Object clone()
00073 {
00074 return new AOldThisConstructorInvocation(
00075 (TThis) cloneNode(_this_),
00076 (TLPar) cloneNode(_lPar_),
00077 (PArgumentList) cloneNode(_argumentList_),
00078 (TRPar) cloneNode(_rPar_),
00079 (TSemicolon) cloneNode(_semicolon_));
00080 }
00081 public PArgumentList getArgumentList()
00082 {
00083 return _argumentList_;
00084 }
00085 public TLPar getLPar()
00086 {
00087 return _lPar_;
00088 }
00089 public TRPar getRPar()
00090 {
00091 return _rPar_;
00092 }
00093 public TSemicolon getSemicolon()
00094 {
00095 return _semicolon_;
00096 }
00097 public TThis getThis()
00098 {
00099 return _this_;
00100 }
00101 void removeChild(Node child)
00102 {
00103 if(_this_ == child)
00104 {
00105 _this_ = null;
00106 return;
00107 }
00108
00109 if(_lPar_ == child)
00110 {
00111 _lPar_ = null;
00112 return;
00113 }
00114
00115 if(_argumentList_ == child)
00116 {
00117 _argumentList_ = null;
00118 return;
00119 }
00120
00121 if(_rPar_ == child)
00122 {
00123 _rPar_ = null;
00124 return;
00125 }
00126
00127 if(_semicolon_ == child)
00128 {
00129 _semicolon_ = null;
00130 return;
00131 }
00132
00133 }
00134 void replaceChild(Node oldChild, Node newChild)
00135 {
00136 if(_this_ == oldChild)
00137 {
00138 setThis((TThis) newChild);
00139 return;
00140 }
00141
00142 if(_lPar_ == oldChild)
00143 {
00144 setLPar((TLPar) newChild);
00145 return;
00146 }
00147
00148 if(_argumentList_ == oldChild)
00149 {
00150 setArgumentList((PArgumentList) newChild);
00151 return;
00152 }
00153
00154 if(_rPar_ == oldChild)
00155 {
00156 setRPar((TRPar) newChild);
00157 return;
00158 }
00159
00160 if(_semicolon_ == oldChild)
00161 {
00162 setSemicolon((TSemicolon) newChild);
00163 return;
00164 }
00165
00166 }
00167 public void setArgumentList(PArgumentList node)
00168 {
00169 if(_argumentList_ != null)
00170 {
00171 _argumentList_.parent(null);
00172 }
00173
00174 if(node != null)
00175 {
00176 if(node.parent() != null)
00177 {
00178 node.parent().removeChild(node);
00179 }
00180
00181 node.parent(this);
00182 }
00183
00184 _argumentList_ = node;
00185 }
00186 public void setLPar(TLPar node)
00187 {
00188 if(_lPar_ != null)
00189 {
00190 _lPar_.parent(null);
00191 }
00192
00193 if(node != null)
00194 {
00195 if(node.parent() != null)
00196 {
00197 node.parent().removeChild(node);
00198 }
00199
00200 node.parent(this);
00201 }
00202
00203 _lPar_ = node;
00204 }
00205 public void setRPar(TRPar node)
00206 {
00207 if(_rPar_ != null)
00208 {
00209 _rPar_.parent(null);
00210 }
00211
00212 if(node != null)
00213 {
00214 if(node.parent() != null)
00215 {
00216 node.parent().removeChild(node);
00217 }
00218
00219 node.parent(this);
00220 }
00221
00222 _rPar_ = node;
00223 }
00224 public void setSemicolon(TSemicolon node)
00225 {
00226 if(_semicolon_ != null)
00227 {
00228 _semicolon_.parent(null);
00229 }
00230
00231 if(node != null)
00232 {
00233 if(node.parent() != null)
00234 {
00235 node.parent().removeChild(node);
00236 }
00237
00238 node.parent(this);
00239 }
00240
00241 _semicolon_ = node;
00242 }
00243 public void setThis(TThis node)
00244 {
00245 if(_this_ != null)
00246 {
00247 _this_.parent(null);
00248 }
00249
00250 if(node != null)
00251 {
00252 if(node.parent() != null)
00253 {
00254 node.parent().removeChild(node);
00255 }
00256
00257 node.parent(this);
00258 }
00259
00260 _this_ = node;
00261 }
00262 public String toString()
00263 {
00264 return ""
00265 + toString(_this_)
00266 + toString(_lPar_)
00267 + toString(_argumentList_)
00268 + toString(_rPar_)
00269 + toString(_semicolon_);
00270 }
00271 }