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 AOldQualifiedConstructorInvocation extends PConstructorInvocation
00040 {
00041 private PPrimary _primary_;
00042 private TDot _dot_;
00043 private TSuper _super_;
00044 private TLPar _lPar_;
00045 private PArgumentList _argumentList_;
00046 private TRPar _rPar_;
00047 private TSemicolon _semicolon_;
00048
00049 public AOldQualifiedConstructorInvocation()
00050 {
00051 }
00052 public AOldQualifiedConstructorInvocation(
00053 PPrimary _primary_,
00054 TDot _dot_,
00055 TSuper _super_,
00056 TLPar _lPar_,
00057 PArgumentList _argumentList_,
00058 TRPar _rPar_,
00059 TSemicolon _semicolon_)
00060 {
00061 setPrimary(_primary_);
00062
00063 setDot(_dot_);
00064
00065 setSuper(_super_);
00066
00067 setLPar(_lPar_);
00068
00069 setArgumentList(_argumentList_);
00070
00071 setRPar(_rPar_);
00072
00073 setSemicolon(_semicolon_);
00074
00075 }
00076 public void apply(Switch sw)
00077 {
00078 ((Analysis) sw).caseAOldQualifiedConstructorInvocation(this);
00079 }
00080 public Object clone()
00081 {
00082 return new AOldQualifiedConstructorInvocation(
00083 (PPrimary) cloneNode(_primary_),
00084 (TDot) cloneNode(_dot_),
00085 (TSuper) cloneNode(_super_),
00086 (TLPar) cloneNode(_lPar_),
00087 (PArgumentList) cloneNode(_argumentList_),
00088 (TRPar) cloneNode(_rPar_),
00089 (TSemicolon) cloneNode(_semicolon_));
00090 }
00091 public PArgumentList getArgumentList()
00092 {
00093 return _argumentList_;
00094 }
00095 public TDot getDot()
00096 {
00097 return _dot_;
00098 }
00099 public TLPar getLPar()
00100 {
00101 return _lPar_;
00102 }
00103 public PPrimary getPrimary()
00104 {
00105 return _primary_;
00106 }
00107 public TRPar getRPar()
00108 {
00109 return _rPar_;
00110 }
00111 public TSemicolon getSemicolon()
00112 {
00113 return _semicolon_;
00114 }
00115 public TSuper getSuper()
00116 {
00117 return _super_;
00118 }
00119 void removeChild(Node child)
00120 {
00121 if(_primary_ == child)
00122 {
00123 _primary_ = null;
00124 return;
00125 }
00126
00127 if(_dot_ == child)
00128 {
00129 _dot_ = null;
00130 return;
00131 }
00132
00133 if(_super_ == child)
00134 {
00135 _super_ = null;
00136 return;
00137 }
00138
00139 if(_lPar_ == child)
00140 {
00141 _lPar_ = null;
00142 return;
00143 }
00144
00145 if(_argumentList_ == child)
00146 {
00147 _argumentList_ = null;
00148 return;
00149 }
00150
00151 if(_rPar_ == child)
00152 {
00153 _rPar_ = null;
00154 return;
00155 }
00156
00157 if(_semicolon_ == child)
00158 {
00159 _semicolon_ = null;
00160 return;
00161 }
00162
00163 }
00164 void replaceChild(Node oldChild, Node newChild)
00165 {
00166 if(_primary_ == oldChild)
00167 {
00168 setPrimary((PPrimary) newChild);
00169 return;
00170 }
00171
00172 if(_dot_ == oldChild)
00173 {
00174 setDot((TDot) newChild);
00175 return;
00176 }
00177
00178 if(_super_ == oldChild)
00179 {
00180 setSuper((TSuper) newChild);
00181 return;
00182 }
00183
00184 if(_lPar_ == oldChild)
00185 {
00186 setLPar((TLPar) newChild);
00187 return;
00188 }
00189
00190 if(_argumentList_ == oldChild)
00191 {
00192 setArgumentList((PArgumentList) newChild);
00193 return;
00194 }
00195
00196 if(_rPar_ == oldChild)
00197 {
00198 setRPar((TRPar) newChild);
00199 return;
00200 }
00201
00202 if(_semicolon_ == oldChild)
00203 {
00204 setSemicolon((TSemicolon) newChild);
00205 return;
00206 }
00207
00208 }
00209 public void setArgumentList(PArgumentList node)
00210 {
00211 if(_argumentList_ != null)
00212 {
00213 _argumentList_.parent(null);
00214 }
00215
00216 if(node != null)
00217 {
00218 if(node.parent() != null)
00219 {
00220 node.parent().removeChild(node);
00221 }
00222
00223 node.parent(this);
00224 }
00225
00226 _argumentList_ = node;
00227 }
00228 public void setDot(TDot node)
00229 {
00230 if(_dot_ != null)
00231 {
00232 _dot_.parent(null);
00233 }
00234
00235 if(node != null)
00236 {
00237 if(node.parent() != null)
00238 {
00239 node.parent().removeChild(node);
00240 }
00241
00242 node.parent(this);
00243 }
00244
00245 _dot_ = node;
00246 }
00247 public void setLPar(TLPar node)
00248 {
00249 if(_lPar_ != null)
00250 {
00251 _lPar_.parent(null);
00252 }
00253
00254 if(node != null)
00255 {
00256 if(node.parent() != null)
00257 {
00258 node.parent().removeChild(node);
00259 }
00260
00261 node.parent(this);
00262 }
00263
00264 _lPar_ = node;
00265 }
00266 public void setPrimary(PPrimary node)
00267 {
00268 if(_primary_ != null)
00269 {
00270 _primary_.parent(null);
00271 }
00272
00273 if(node != null)
00274 {
00275 if(node.parent() != null)
00276 {
00277 node.parent().removeChild(node);
00278 }
00279
00280 node.parent(this);
00281 }
00282
00283 _primary_ = node;
00284 }
00285 public void setRPar(TRPar node)
00286 {
00287 if(_rPar_ != null)
00288 {
00289 _rPar_.parent(null);
00290 }
00291
00292 if(node != null)
00293 {
00294 if(node.parent() != null)
00295 {
00296 node.parent().removeChild(node);
00297 }
00298
00299 node.parent(this);
00300 }
00301
00302 _rPar_ = node;
00303 }
00304 public void setSemicolon(TSemicolon node)
00305 {
00306 if(_semicolon_ != null)
00307 {
00308 _semicolon_.parent(null);
00309 }
00310
00311 if(node != null)
00312 {
00313 if(node.parent() != null)
00314 {
00315 node.parent().removeChild(node);
00316 }
00317
00318 node.parent(this);
00319 }
00320
00321 _semicolon_ = node;
00322 }
00323 public void setSuper(TSuper node)
00324 {
00325 if(_super_ != null)
00326 {
00327 _super_.parent(null);
00328 }
00329
00330 if(node != null)
00331 {
00332 if(node.parent() != null)
00333 {
00334 node.parent().removeChild(node);
00335 }
00336
00337 node.parent(this);
00338 }
00339
00340 _super_ = node;
00341 }
00342 public String toString()
00343 {
00344 return ""
00345 + toString(_primary_)
00346 + toString(_dot_)
00347 + toString(_super_)
00348 + toString(_lPar_)
00349 + toString(_argumentList_)
00350 + toString(_rPar_)
00351 + toString(_semicolon_);
00352 }
00353 }