001 /* This file was generated with JastAdd2 (http://jastadd.org) version R20130213 */ 002 package AST; 003 004 import java.util.HashSet; 005 import java.io.File; 006 import java.util.*; 007 import beaver.*; 008 import java.util.ArrayList; 009 import java.util.zip.*; 010 import java.io.*; 011 import java.io.FileNotFoundException; 012 import java.util.Collection; 013 014 /** 015 * @production BodyDeclList : {@link List}; 016 * @ast node 017 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.ast:13 018 */ 019 public class BodyDeclList extends List implements Cloneable { 020 /** 021 * @apilevel low-level 022 */ 023 public void flushCache() { 024 } 025 /** 026 * @apilevel internal 027 */ 028 public void flushCollectionCache() { 029 } 030 /** 031 * @apilevel internal 032 */ 033 @SuppressWarnings({"unchecked", "cast"}) 034 public BodyDeclList clone() throws CloneNotSupportedException { 035 BodyDeclList node = (BodyDeclList)super.clone(); 036 node.localMethodSignatureCopy_MethodDecl_MemberSubstitutor_values = null; 037 node.localMethodSignatureCopy_MethodDecl_MemberSubstitutor_list = null; node.localFieldCopy_FieldDeclaration_MemberSubstitutor_values = null; 038 node.localFieldCopy_FieldDeclaration_MemberSubstitutor_list = null; node.localClassDeclCopy_ClassDecl_MemberSubstitutor_values = null; 039 node.localClassDeclCopy_ClassDecl_MemberSubstitutor_list = null; node.localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_values = null; 040 node.localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_list = null; node.constructorCopy_ConstructorDecl_MemberSubstitutor_values = null; 041 node.constructorCopy_ConstructorDecl_MemberSubstitutor_list = null; node.in$Circle(false); 042 node.is$Final(false); 043 return node; 044 } 045 /** 046 * @apilevel internal 047 */ 048 @SuppressWarnings({"unchecked", "cast"}) 049 public BodyDeclList copy() { 050 051 try { 052 BodyDeclList node = (BodyDeclList) clone(); 053 node.parent = null; 054 if(children != null) 055 node.children = (ASTNode[]) children.clone(); 056 057 return node; 058 } catch (CloneNotSupportedException e) { 059 throw new Error("Error: clone not supported for " + getClass().getName()); 060 } 061 062 }/** 063 * Create a deep copy of the AST subtree at this node. 064 * The copy is dangling, i.e. has no parent. 065 * @return dangling copy of the subtree at this node 066 * @apilevel low-level 067 */ 068 @SuppressWarnings({"unchecked", "cast"}) 069 public BodyDeclList fullCopy() { 070 071 BodyDeclList tree = (BodyDeclList) copy(); 072 if (children != null) { 073 for (int i = 0; i < children.length; ++i) { 074 075 ASTNode child = (ASTNode) children[i]; 076 if(child != null) { 077 child = child.fullCopy(); 078 tree.setChild(child, i); 079 } 080 } 081 } 082 return tree; 083 084 } /** 085 * @ast method 086 * 087 */ 088 public BodyDeclList() { 089 super(); 090 091 is$Final(true); 092 093 } 094 /** 095 * Initializes the child array to the correct size. 096 * Initializes List and Opt nta children. 097 * @apilevel internal 098 * @ast method 099 * @ast method 100 * 101 */ 102 public void init$Children() { 103 } 104 /** 105 * @apilevel low-level 106 * @ast method 107 * 108 */ 109 protected int numChildren() { 110 return 0; 111 } 112 /** 113 * @apilevel internal 114 * @ast method 115 * 116 */ 117 public boolean mayHaveRewrite() { 118 return true; 119 } 120 /** 121 * @apilevel internal 122 */ 123 protected java.util.Map localMethodSignatureCopy_MethodDecl_MemberSubstitutor_values; 124 /** 125 * @apilevel internal 126 */ 127 protected List localMethodSignatureCopy_MethodDecl_MemberSubstitutor_list; 128 /** 129 * @attribute syn 130 * @aspect LookupParTypeDecl 131 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:1114 132 */ 133 @SuppressWarnings({"unchecked", "cast"}) 134 public BodyDecl localMethodSignatureCopy(MethodDecl originalMethod, MemberSubstitutor m) { 135 java.util.List _parameters = new java.util.ArrayList(2); 136 _parameters.add(originalMethod); 137 _parameters.add(m); 138 if(localMethodSignatureCopy_MethodDecl_MemberSubstitutor_values == null) localMethodSignatureCopy_MethodDecl_MemberSubstitutor_values = new java.util.HashMap(4); 139 if(localMethodSignatureCopy_MethodDecl_MemberSubstitutor_values.containsKey(_parameters)) { 140 return (BodyDecl)localMethodSignatureCopy_MethodDecl_MemberSubstitutor_values.get(_parameters); 141 } 142 ASTNode$State state = state(); 143 int num = state.boundariesCrossed; 144 boolean isFinal = this.is$Final(); 145 BodyDecl localMethodSignatureCopy_MethodDecl_MemberSubstitutor_value = localMethodSignatureCopy_compute(originalMethod, m); 146 if(localMethodSignatureCopy_MethodDecl_MemberSubstitutor_list == null) { 147 localMethodSignatureCopy_MethodDecl_MemberSubstitutor_list = new List(); 148 localMethodSignatureCopy_MethodDecl_MemberSubstitutor_list.is$Final = true; 149 localMethodSignatureCopy_MethodDecl_MemberSubstitutor_list.setParent(this); 150 } 151 localMethodSignatureCopy_MethodDecl_MemberSubstitutor_list.add(localMethodSignatureCopy_MethodDecl_MemberSubstitutor_value); 152 if(localMethodSignatureCopy_MethodDecl_MemberSubstitutor_value != null) { 153 localMethodSignatureCopy_MethodDecl_MemberSubstitutor_value = (BodyDecl)localMethodSignatureCopy_MethodDecl_MemberSubstitutor_list.getChild(localMethodSignatureCopy_MethodDecl_MemberSubstitutor_list.numChildren-1); 154 localMethodSignatureCopy_MethodDecl_MemberSubstitutor_value.is$Final = true; 155 } 156 if(true){ localMethodSignatureCopy_MethodDecl_MemberSubstitutor_values.put(_parameters, localMethodSignatureCopy_MethodDecl_MemberSubstitutor_value); } 157 return localMethodSignatureCopy_MethodDecl_MemberSubstitutor_value; 158 } 159 /** 160 * @apilevel internal 161 */ 162 private BodyDecl localMethodSignatureCopy_compute(MethodDecl originalMethod, MemberSubstitutor m) { 163 return originalMethod.substitutedBodyDecl(m); 164 } 165 /** 166 * @apilevel internal 167 */ 168 protected java.util.Map localFieldCopy_FieldDeclaration_MemberSubstitutor_values; 169 /** 170 * @apilevel internal 171 */ 172 protected List localFieldCopy_FieldDeclaration_MemberSubstitutor_list; 173 /** 174 * @attribute syn 175 * @aspect LookupParTypeDecl 176 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:1148 177 */ 178 @SuppressWarnings({"unchecked", "cast"}) 179 public BodyDecl localFieldCopy(FieldDeclaration originalDecl, MemberSubstitutor m) { 180 java.util.List _parameters = new java.util.ArrayList(2); 181 _parameters.add(originalDecl); 182 _parameters.add(m); 183 if(localFieldCopy_FieldDeclaration_MemberSubstitutor_values == null) localFieldCopy_FieldDeclaration_MemberSubstitutor_values = new java.util.HashMap(4); 184 if(localFieldCopy_FieldDeclaration_MemberSubstitutor_values.containsKey(_parameters)) { 185 return (BodyDecl)localFieldCopy_FieldDeclaration_MemberSubstitutor_values.get(_parameters); 186 } 187 ASTNode$State state = state(); 188 int num = state.boundariesCrossed; 189 boolean isFinal = this.is$Final(); 190 BodyDecl localFieldCopy_FieldDeclaration_MemberSubstitutor_value = localFieldCopy_compute(originalDecl, m); 191 if(localFieldCopy_FieldDeclaration_MemberSubstitutor_list == null) { 192 localFieldCopy_FieldDeclaration_MemberSubstitutor_list = new List(); 193 localFieldCopy_FieldDeclaration_MemberSubstitutor_list.is$Final = true; 194 localFieldCopy_FieldDeclaration_MemberSubstitutor_list.setParent(this); 195 } 196 localFieldCopy_FieldDeclaration_MemberSubstitutor_list.add(localFieldCopy_FieldDeclaration_MemberSubstitutor_value); 197 if(localFieldCopy_FieldDeclaration_MemberSubstitutor_value != null) { 198 localFieldCopy_FieldDeclaration_MemberSubstitutor_value = (BodyDecl)localFieldCopy_FieldDeclaration_MemberSubstitutor_list.getChild(localFieldCopy_FieldDeclaration_MemberSubstitutor_list.numChildren-1); 199 localFieldCopy_FieldDeclaration_MemberSubstitutor_value.is$Final = true; 200 } 201 if(true){ localFieldCopy_FieldDeclaration_MemberSubstitutor_values.put(_parameters, localFieldCopy_FieldDeclaration_MemberSubstitutor_value); } 202 return localFieldCopy_FieldDeclaration_MemberSubstitutor_value; 203 } 204 /** 205 * @apilevel internal 206 */ 207 private BodyDecl localFieldCopy_compute(FieldDeclaration originalDecl, MemberSubstitutor m) { 208 return originalDecl.substitutedBodyDecl(m); 209 } 210 /** 211 * @apilevel internal 212 */ 213 protected java.util.Map localClassDeclCopy_ClassDecl_MemberSubstitutor_values; 214 /** 215 * @apilevel internal 216 */ 217 protected List localClassDeclCopy_ClassDecl_MemberSubstitutor_list; 218 /** 219 * @attribute syn 220 * @aspect LookupParTypeDecl 221 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:1204 222 */ 223 @SuppressWarnings({"unchecked", "cast"}) 224 public MemberClassDecl localClassDeclCopy(ClassDecl originalDecl, MemberSubstitutor m) { 225 java.util.List _parameters = new java.util.ArrayList(2); 226 _parameters.add(originalDecl); 227 _parameters.add(m); 228 if(localClassDeclCopy_ClassDecl_MemberSubstitutor_values == null) localClassDeclCopy_ClassDecl_MemberSubstitutor_values = new java.util.HashMap(4); 229 if(localClassDeclCopy_ClassDecl_MemberSubstitutor_values.containsKey(_parameters)) { 230 return (MemberClassDecl)localClassDeclCopy_ClassDecl_MemberSubstitutor_values.get(_parameters); 231 } 232 ASTNode$State state = state(); 233 int num = state.boundariesCrossed; 234 boolean isFinal = this.is$Final(); 235 MemberClassDecl localClassDeclCopy_ClassDecl_MemberSubstitutor_value = localClassDeclCopy_compute(originalDecl, m); 236 if(localClassDeclCopy_ClassDecl_MemberSubstitutor_list == null) { 237 localClassDeclCopy_ClassDecl_MemberSubstitutor_list = new List(); 238 localClassDeclCopy_ClassDecl_MemberSubstitutor_list.is$Final = true; 239 localClassDeclCopy_ClassDecl_MemberSubstitutor_list.setParent(this); 240 } 241 localClassDeclCopy_ClassDecl_MemberSubstitutor_list.add(localClassDeclCopy_ClassDecl_MemberSubstitutor_value); 242 if(localClassDeclCopy_ClassDecl_MemberSubstitutor_value != null) { 243 localClassDeclCopy_ClassDecl_MemberSubstitutor_value = (MemberClassDecl)localClassDeclCopy_ClassDecl_MemberSubstitutor_list.getChild(localClassDeclCopy_ClassDecl_MemberSubstitutor_list.numChildren-1); 244 localClassDeclCopy_ClassDecl_MemberSubstitutor_value.is$Final = true; 245 } 246 if(true){ localClassDeclCopy_ClassDecl_MemberSubstitutor_values.put(_parameters, localClassDeclCopy_ClassDecl_MemberSubstitutor_value); } 247 return localClassDeclCopy_ClassDecl_MemberSubstitutor_value; 248 } 249 /** 250 * @apilevel internal 251 */ 252 private MemberClassDecl localClassDeclCopy_compute(ClassDecl originalDecl, MemberSubstitutor m) { 253 ClassDecl copy = originalDecl.substitutedClassDecl(m); 254 return new MemberClassDecl(copy); 255 } 256 /** 257 * @apilevel internal 258 */ 259 protected java.util.Map localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_values; 260 /** 261 * @apilevel internal 262 */ 263 protected List localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_list; 264 /** 265 * @attribute syn 266 * @aspect LookupParTypeDecl 267 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:1208 268 */ 269 @SuppressWarnings({"unchecked", "cast"}) 270 public MemberInterfaceDecl localInterfaceDeclCopy(InterfaceDecl originalDecl, MemberSubstitutor m) { 271 java.util.List _parameters = new java.util.ArrayList(2); 272 _parameters.add(originalDecl); 273 _parameters.add(m); 274 if(localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_values == null) localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_values = new java.util.HashMap(4); 275 if(localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_values.containsKey(_parameters)) { 276 return (MemberInterfaceDecl)localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_values.get(_parameters); 277 } 278 ASTNode$State state = state(); 279 int num = state.boundariesCrossed; 280 boolean isFinal = this.is$Final(); 281 MemberInterfaceDecl localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_value = localInterfaceDeclCopy_compute(originalDecl, m); 282 if(localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_list == null) { 283 localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_list = new List(); 284 localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_list.is$Final = true; 285 localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_list.setParent(this); 286 } 287 localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_list.add(localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_value); 288 if(localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_value != null) { 289 localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_value = (MemberInterfaceDecl)localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_list.getChild(localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_list.numChildren-1); 290 localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_value.is$Final = true; 291 } 292 if(true){ localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_values.put(_parameters, localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_value); } 293 return localInterfaceDeclCopy_InterfaceDecl_MemberSubstitutor_value; 294 } 295 /** 296 * @apilevel internal 297 */ 298 private MemberInterfaceDecl localInterfaceDeclCopy_compute(InterfaceDecl originalDecl, MemberSubstitutor m) { 299 InterfaceDecl copy = originalDecl.substitutedInterfaceDecl(m); 300 return new MemberInterfaceDecl(copy); 301 } 302 /** 303 * @apilevel internal 304 */ 305 protected java.util.Map constructorCopy_ConstructorDecl_MemberSubstitutor_values; 306 /** 307 * @apilevel internal 308 */ 309 protected List constructorCopy_ConstructorDecl_MemberSubstitutor_list; 310 /** 311 * @attribute syn 312 * @aspect LookupParTypeDecl 313 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:1234 314 */ 315 @SuppressWarnings({"unchecked", "cast"}) 316 public BodyDecl constructorCopy(ConstructorDecl originalDecl, MemberSubstitutor m) { 317 java.util.List _parameters = new java.util.ArrayList(2); 318 _parameters.add(originalDecl); 319 _parameters.add(m); 320 if(constructorCopy_ConstructorDecl_MemberSubstitutor_values == null) constructorCopy_ConstructorDecl_MemberSubstitutor_values = new java.util.HashMap(4); 321 if(constructorCopy_ConstructorDecl_MemberSubstitutor_values.containsKey(_parameters)) { 322 return (BodyDecl)constructorCopy_ConstructorDecl_MemberSubstitutor_values.get(_parameters); 323 } 324 ASTNode$State state = state(); 325 int num = state.boundariesCrossed; 326 boolean isFinal = this.is$Final(); 327 BodyDecl constructorCopy_ConstructorDecl_MemberSubstitutor_value = constructorCopy_compute(originalDecl, m); 328 if(constructorCopy_ConstructorDecl_MemberSubstitutor_list == null) { 329 constructorCopy_ConstructorDecl_MemberSubstitutor_list = new List(); 330 constructorCopy_ConstructorDecl_MemberSubstitutor_list.is$Final = true; 331 constructorCopy_ConstructorDecl_MemberSubstitutor_list.setParent(this); 332 } 333 constructorCopy_ConstructorDecl_MemberSubstitutor_list.add(constructorCopy_ConstructorDecl_MemberSubstitutor_value); 334 if(constructorCopy_ConstructorDecl_MemberSubstitutor_value != null) { 335 constructorCopy_ConstructorDecl_MemberSubstitutor_value = (BodyDecl)constructorCopy_ConstructorDecl_MemberSubstitutor_list.getChild(constructorCopy_ConstructorDecl_MemberSubstitutor_list.numChildren-1); 336 constructorCopy_ConstructorDecl_MemberSubstitutor_value.is$Final = true; 337 } 338 if(true){ constructorCopy_ConstructorDecl_MemberSubstitutor_values.put(_parameters, constructorCopy_ConstructorDecl_MemberSubstitutor_value); } 339 return constructorCopy_ConstructorDecl_MemberSubstitutor_value; 340 } 341 /** 342 * @apilevel internal 343 */ 344 private BodyDecl constructorCopy_compute(ConstructorDecl originalDecl, MemberSubstitutor m) { 345 return originalDecl.substitutedBodyDecl(m); 346 } 347 /** 348 * @apilevel internal 349 */ 350 public ASTNode rewriteTo() { 351 return super.rewriteTo(); 352 } 353 }