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 * @production BodyDecl : {@link ASTNode}; 015 * @ast node 016 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/java.ast:72 017 */ 018 public abstract class BodyDecl extends ASTNode<ASTNode> implements Cloneable { 019 /** 020 * @apilevel low-level 021 */ 022 public void flushCache() { 023 } 024 /** 025 * @apilevel internal 026 */ 027 public void flushCollectionCache() { 028 } 029 /** 030 * @apilevel internal 031 */ 032 @SuppressWarnings({"unchecked", "cast"}) 033 public BodyDecl clone() throws CloneNotSupportedException { 034 BodyDecl node = (BodyDecl)super.clone(); 035 node.isDAafter_Variable_values = null; 036 node.isDUafter_Variable_values = null; 037 node.attributes_computed = false; 038 node.attributes_value = null; 039 node.isDAbefore_Variable_values = null; 040 node.isDUbefore_Variable_values = null; 041 node.typeThrowable_computed = false; 042 node.typeThrowable_value = null; 043 node.lookupVariable_String_values = null; 044 node.in$Circle(false); 045 node.is$Final(false); 046 return node; 047 } 048 /** 049 * @ast method 050 * @aspect BranchTarget 051 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/BranchTarget.jrag:210 052 */ 053 public void collectFinally(Stmt branchStmt, ArrayList list) { 054 // terminate search if body declaration is reached 055 } 056 /** 057 * @ast method 058 * @aspect GenerateClassfile 059 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/GenerateClassfile.jrag:242 060 */ 061 public void generateMethod(DataOutputStream out, ConstantPool cp) throws IOException { 062 } 063 /** 064 * @ast method 065 * @aspect GenerateClassfile 066 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/GenerateClassfile.jrag:261 067 */ 068 public void touchMethod(ConstantPool cp) { 069 } 070 /** 071 * @ast method 072 * @aspect LookupParTypeDecl 073 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:1238 074 */ 075 public BodyDecl substitutedBodyDecl(Parameterization parTypeDecl) { 076 throw new Error("Operation substitutedBodyDecl not supported for " + getClass().getName()); 077 } 078 /** 079 * We must report illegal uses of the SafeVarargs annotation. 080 * It is only allowed on variable arity method and constructor declarations. 081 * @ast method 082 * @aspect SafeVarargs 083 * @declaredat /home/jesper/svn/JastAddJ/Java7Frontend/SafeVarargs.jrag:93 084 */ 085 public void checkWarnings() { 086 if (hasIllegalAnnotationSafeVarargs()) 087 error("@SafeVarargs is only allowed for variable " + 088 "arity method and constructor declarations"); 089 } 090 /** 091 * @ast method 092 * 093 */ 094 public BodyDecl() { 095 super(); 096 097 098 } 099 /** 100 * Initializes the child array to the correct size. 101 * Initializes List and Opt nta children. 102 * @apilevel internal 103 * @ast method 104 * @ast method 105 * 106 */ 107 public void init$Children() { 108 } 109 /** 110 * @apilevel low-level 111 * @ast method 112 * 113 */ 114 protected int numChildren() { 115 return 0; 116 } 117 /** 118 * @apilevel internal 119 * @ast method 120 * 121 */ 122 public boolean mayHaveRewrite() { 123 return false; 124 } 125 protected java.util.Map isDAafter_Variable_values; 126 /** 127 * @attribute syn 128 * @aspect DA 129 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:243 130 */ 131 @SuppressWarnings({"unchecked", "cast"}) 132 public boolean isDAafter(Variable v) { 133 Object _parameters = v; 134 if(isDAafter_Variable_values == null) isDAafter_Variable_values = new java.util.HashMap(4); 135 if(isDAafter_Variable_values.containsKey(_parameters)) { 136 return ((Boolean)isDAafter_Variable_values.get(_parameters)).booleanValue(); 137 } 138 ASTNode$State state = state(); 139 int num = state.boundariesCrossed; 140 boolean isFinal = this.is$Final(); 141 boolean isDAafter_Variable_value = isDAafter_compute(v); 142 if(isFinal && num == state().boundariesCrossed){ isDAafter_Variable_values.put(_parameters, Boolean.valueOf(isDAafter_Variable_value)); } 143 return isDAafter_Variable_value; 144 } 145 /** 146 * @apilevel internal 147 */ 148 private boolean isDAafter_compute(Variable v) { return true; } 149 protected java.util.Map isDUafter_Variable_values; 150 /** 151 * @attribute syn 152 * @aspect DU 153 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:708 154 */ 155 @SuppressWarnings({"unchecked", "cast"}) 156 public boolean isDUafter(Variable v) { 157 Object _parameters = v; 158 if(isDUafter_Variable_values == null) isDUafter_Variable_values = new java.util.HashMap(4); 159 if(isDUafter_Variable_values.containsKey(_parameters)) { 160 return ((Boolean)isDUafter_Variable_values.get(_parameters)).booleanValue(); 161 } 162 ASTNode$State state = state(); 163 int num = state.boundariesCrossed; 164 boolean isFinal = this.is$Final(); 165 boolean isDUafter_Variable_value = isDUafter_compute(v); 166 if(isFinal && num == state().boundariesCrossed){ isDUafter_Variable_values.put(_parameters, Boolean.valueOf(isDUafter_Variable_value)); } 167 return isDUafter_Variable_value; 168 } 169 /** 170 * @apilevel internal 171 */ 172 private boolean isDUafter_compute(Variable v) { return true; } 173 /** 174 * @attribute syn 175 * @aspect TypeScopePropagation 176 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:479 177 */ 178 public boolean declaresType(String name) { 179 ASTNode$State state = state(); 180 try { return false; } 181 finally { 182 } 183 } 184 /** 185 * @attribute syn 186 * @aspect TypeScopePropagation 187 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:481 188 */ 189 public TypeDecl type(String name) { 190 ASTNode$State state = state(); 191 try { return null; } 192 finally { 193 } 194 } 195 /** 196 * @attribute syn 197 * @aspect PrettyPrint 198 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/PrettyPrint.jadd:758 199 */ 200 public boolean addsIndentationLevel() { 201 ASTNode$State state = state(); 202 try { return true; } 203 finally { 204 } 205 } 206 /** 207 * @attribute syn 208 * @aspect TypeAnalysis 209 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:271 210 */ 211 public boolean isVoid() { 212 ASTNode$State state = state(); 213 try { return false; } 214 finally { 215 } 216 } 217 /** 218 * @apilevel internal 219 */ 220 protected boolean attributes_computed = false; 221 /** 222 * @apilevel internal 223 */ 224 protected Collection attributes_value; 225 /** 226 * @attribute syn 227 * @aspect Attributes 228 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/Attributes.jrag:182 229 */ 230 @SuppressWarnings({"unchecked", "cast"}) 231 public Collection attributes() { 232 if(attributes_computed) { 233 return attributes_value; 234 } 235 ASTNode$State state = state(); 236 int num = state.boundariesCrossed; 237 boolean isFinal = this.is$Final(); 238 attributes_value = attributes_compute(); 239 if(isFinal && num == state().boundariesCrossed){ attributes_computed = true; } 240 return attributes_value; 241 } 242 /** 243 * @apilevel internal 244 */ 245 private Collection attributes_compute() { return new ArrayList(); } 246 /** 247 * @attribute syn 248 * @aspect GenerateClassfile 249 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/GenerateClassfile.jrag:293 250 */ 251 public boolean isBytecodeField() { 252 ASTNode$State state = state(); 253 try { return false; } 254 finally { 255 } 256 } 257 /** 258 * @attribute syn 259 * @aspect GenerateClassfile 260 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/GenerateClassfile.jrag:296 261 */ 262 public boolean isBytecodeMethod() { 263 ASTNode$State state = state(); 264 try { return false; } 265 finally { 266 } 267 } 268 /** 269 * @attribute syn 270 * @aspect GenerateClassfile 271 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/GenerateClassfile.jrag:300 272 */ 273 public boolean generate() { 274 ASTNode$State state = state(); 275 try { return true; } 276 finally { 277 } 278 } 279 /** 280 * @attribute syn 281 * @aspect Annotations 282 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Annotations.jrag:283 283 */ 284 public boolean hasAnnotationSuppressWarnings(String s) { 285 ASTNode$State state = state(); 286 try { return false; } 287 finally { 288 } 289 } 290 /** 291 * @attribute syn 292 * @aspect Annotations 293 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Annotations.jrag:326 294 */ 295 public boolean isDeprecated() { 296 ASTNode$State state = state(); 297 try { return false; } 298 finally { 299 } 300 } 301 /** 302 * @attribute syn 303 * @aspect Enums 304 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Enums.jrag:26 305 */ 306 public boolean isEnumConstant() { 307 ASTNode$State state = state(); 308 try { return false; } 309 finally { 310 } 311 } 312 /** 313 * @attribute syn 314 * @aspect GenericsParTypeDecl 315 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/GenericsParTypeDecl.jrag:67 316 */ 317 public boolean visibleTypeParameters() { 318 ASTNode$State state = state(); 319 try { return true; } 320 finally { 321 } 322 } 323 /** 324 * @attribute syn 325 * @aspect GenericsCodegen 326 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Backend/GenericsCodegen.jrag:362 327 */ 328 public boolean needsSignatureAttribute() { 329 ASTNode$State state = state(); 330 try { return false; } 331 finally { 332 } 333 } 334 /** 335 * @return true if the modifier list includes the SafeVarargs annotation 336 * @attribute syn 337 * @aspect SafeVarargs 338 * @declaredat /home/jesper/svn/JastAddJ/Java7Frontend/SafeVarargs.jrag:20 339 */ 340 public boolean hasAnnotationSafeVarargs() { 341 ASTNode$State state = state(); 342 try { return false; } 343 finally { 344 } 345 } 346 /** 347 * It is an error if the SafeVarargs annotation is used on something 348 * that is not a variable arity method or constructor. 349 * @attribute syn 350 * @aspect SafeVarargs 351 * @declaredat /home/jesper/svn/JastAddJ/Java7Frontend/SafeVarargs.jrag:56 352 */ 353 public boolean hasIllegalAnnotationSafeVarargs() { 354 ASTNode$State state = state(); 355 try { return hasAnnotationSafeVarargs(); } 356 finally { 357 } 358 } 359 protected java.util.Map isDAbefore_Variable_values; 360 /** 361 * @attribute inh 362 * @aspect DA 363 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:242 364 */ 365 @SuppressWarnings({"unchecked", "cast"}) 366 public boolean isDAbefore(Variable v) { 367 Object _parameters = v; 368 if(isDAbefore_Variable_values == null) isDAbefore_Variable_values = new java.util.HashMap(4); 369 if(isDAbefore_Variable_values.containsKey(_parameters)) { 370 return ((Boolean)isDAbefore_Variable_values.get(_parameters)).booleanValue(); 371 } 372 ASTNode$State state = state(); 373 int num = state.boundariesCrossed; 374 boolean isFinal = this.is$Final(); 375 boolean isDAbefore_Variable_value = getParent().Define_boolean_isDAbefore(this, null, v); 376 if(isFinal && num == state().boundariesCrossed){ isDAbefore_Variable_values.put(_parameters, Boolean.valueOf(isDAbefore_Variable_value)); } 377 return isDAbefore_Variable_value; 378 } 379 protected java.util.Map isDUbefore_Variable_values; 380 /** 381 * @attribute inh 382 * @aspect DU 383 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:707 384 */ 385 @SuppressWarnings({"unchecked", "cast"}) 386 public boolean isDUbefore(Variable v) { 387 Object _parameters = v; 388 if(isDUbefore_Variable_values == null) isDUbefore_Variable_values = new java.util.HashMap(4); 389 if(isDUbefore_Variable_values.containsKey(_parameters)) { 390 return ((Boolean)isDUbefore_Variable_values.get(_parameters)).booleanValue(); 391 } 392 ASTNode$State state = state(); 393 int num = state.boundariesCrossed; 394 boolean isFinal = this.is$Final(); 395 boolean isDUbefore_Variable_value = getParent().Define_boolean_isDUbefore(this, null, v); 396 if(isFinal && num == state().boundariesCrossed){ isDUbefore_Variable_values.put(_parameters, Boolean.valueOf(isDUbefore_Variable_value)); } 397 return isDUbefore_Variable_value; 398 } 399 /** 400 * @apilevel internal 401 */ 402 protected boolean typeThrowable_computed = false; 403 /** 404 * @apilevel internal 405 */ 406 protected TypeDecl typeThrowable_value; 407 /** 408 * @attribute inh 409 * @aspect ExceptionHandling 410 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:22 411 */ 412 @SuppressWarnings({"unchecked", "cast"}) 413 public TypeDecl typeThrowable() { 414 if(typeThrowable_computed) { 415 return typeThrowable_value; 416 } 417 ASTNode$State state = state(); 418 int num = state.boundariesCrossed; 419 boolean isFinal = this.is$Final(); 420 typeThrowable_value = getParent().Define_TypeDecl_typeThrowable(this, null); 421 if(isFinal && num == state().boundariesCrossed){ typeThrowable_computed = true; } 422 return typeThrowable_value; 423 } 424 /** 425 * @attribute inh 426 * @aspect LookupMethod 427 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupMethod.jrag:25 428 */ 429 @SuppressWarnings({"unchecked", "cast"}) 430 public Collection lookupMethod(String name) { 431 ASTNode$State state = state(); 432 Collection lookupMethod_String_value = getParent().Define_Collection_lookupMethod(this, null, name); 433 return lookupMethod_String_value; 434 } 435 /** 436 * @attribute inh 437 * @aspect LookupFullyQualifiedTypes 438 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:97 439 */ 440 @SuppressWarnings({"unchecked", "cast"}) 441 public TypeDecl lookupType(String packageName, String typeName) { 442 ASTNode$State state = state(); 443 TypeDecl lookupType_String_String_value = getParent().Define_TypeDecl_lookupType(this, null, packageName, typeName); 444 return lookupType_String_String_value; 445 } 446 /** 447 * @attribute inh 448 * @aspect TypeScopePropagation 449 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:261 450 */ 451 @SuppressWarnings({"unchecked", "cast"}) 452 public SimpleSet lookupType(String name) { 453 ASTNode$State state = state(); 454 SimpleSet lookupType_String_value = getParent().Define_SimpleSet_lookupType(this, null, name); 455 return lookupType_String_value; 456 } 457 protected java.util.Map lookupVariable_String_values; 458 /** 459 * @attribute inh 460 * @aspect VariableScope 461 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupVariable.jrag:15 462 */ 463 @SuppressWarnings({"unchecked", "cast"}) 464 public SimpleSet lookupVariable(String name) { 465 Object _parameters = name; 466 if(lookupVariable_String_values == null) lookupVariable_String_values = new java.util.HashMap(4); 467 if(lookupVariable_String_values.containsKey(_parameters)) { 468 return (SimpleSet)lookupVariable_String_values.get(_parameters); 469 } 470 ASTNode$State state = state(); 471 int num = state.boundariesCrossed; 472 boolean isFinal = this.is$Final(); 473 SimpleSet lookupVariable_String_value = getParent().Define_SimpleSet_lookupVariable(this, null, name); 474 if(isFinal && num == state().boundariesCrossed){ lookupVariable_String_values.put(_parameters, lookupVariable_String_value); } 475 return lookupVariable_String_value; 476 } 477 /** 478 * @attribute inh 479 * @aspect SyntacticClassification 480 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/SyntacticClassification.jrag:21 481 */ 482 @SuppressWarnings({"unchecked", "cast"}) 483 public NameType nameType() { 484 ASTNode$State state = state(); 485 NameType nameType_value = getParent().Define_NameType_nameType(this, null); 486 return nameType_value; 487 } 488 /** 489 * @attribute inh 490 * @aspect NestedTypes 491 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:566 492 */ 493 @SuppressWarnings({"unchecked", "cast"}) 494 public String hostPackage() { 495 ASTNode$State state = state(); 496 String hostPackage_value = getParent().Define_String_hostPackage(this, null); 497 return hostPackage_value; 498 } 499 /** 500 * @attribute inh 501 * @aspect NestedTypes 502 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:585 503 */ 504 @SuppressWarnings({"unchecked", "cast"}) 505 public TypeDecl hostType() { 506 ASTNode$State state = state(); 507 TypeDecl hostType_value = getParent().Define_TypeDecl_hostType(this, null); 508 return hostType_value; 509 } 510 /** 511 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/PrettyPrint.jadd:353 512 * @apilevel internal 513 */ 514 public String Define_String_typeDeclIndent(ASTNode caller, ASTNode child) { 515 { 516 int childIndex = this.getIndexOfChild(caller); 517 return indent(); 518 } 519 } 520 /** 521 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:514 522 * @apilevel internal 523 */ 524 public BodyDecl Define_BodyDecl_enclosingBodyDecl(ASTNode caller, ASTNode child) { 525 { 526 int childIndex = this.getIndexOfChild(caller); 527 return this; 528 } 529 } 530 /** 531 * @declaredat /home/jesper/svn/JastAddJ/Java7Frontend/TryWithResources.jrag:153 532 * @apilevel internal 533 */ 534 public boolean Define_boolean_resourcePreviouslyDeclared(ASTNode caller, ASTNode child, String name) { 535 { 536 int i = this.getIndexOfChild(caller); 537 return false; 538 } 539 } 540 /** 541 * @apilevel internal 542 */ 543 public ASTNode rewriteTo() { 544 return super.rewriteTo(); 545 } 546 }