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 Program : {@link ASTNode} ::= <span class="component">{@link CompilationUnit}*</span>; 015 * @ast node 016 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/java.ast:1 017 */ 018 public class Program 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 Program clone() throws CloneNotSupportedException { 034 Program node = (Program)super.clone(); 035 node.typeObject_computed = false; 036 node.typeObject_value = null; 037 node.typeCloneable_computed = false; 038 node.typeCloneable_value = null; 039 node.typeSerializable_computed = false; 040 node.typeSerializable_value = null; 041 node.typeBoolean_computed = false; 042 node.typeBoolean_value = null; 043 node.typeByte_computed = false; 044 node.typeByte_value = null; 045 node.typeShort_computed = false; 046 node.typeShort_value = null; 047 node.typeChar_computed = false; 048 node.typeChar_value = null; 049 node.typeInt_computed = false; 050 node.typeInt_value = null; 051 node.typeLong_computed = false; 052 node.typeLong_value = null; 053 node.typeFloat_computed = false; 054 node.typeFloat_value = null; 055 node.typeDouble_computed = false; 056 node.typeDouble_value = null; 057 node.typeString_computed = false; 058 node.typeString_value = null; 059 node.typeVoid_computed = false; 060 node.typeVoid_value = null; 061 node.typeNull_computed = false; 062 node.typeNull_value = null; 063 node.unknownType_computed = false; 064 node.unknownType_value = null; 065 node.hasPackage_String_values = null; 066 node.lookupType_String_String_values = null; 067 node.lookupLibType_String_String_values = null; 068 node.getLibCompilationUnit_String_values = null; 069 node.getLibCompilationUnit_String_list = null; node.getPrimitiveCompilationUnit_computed = false; 070 node.getPrimitiveCompilationUnit_value = null; 071 node.unknownConstructor_computed = false; 072 node.unknownConstructor_value = null; 073 node.wildcards_computed = false; 074 node.wildcards_value = null; 075 node.in$Circle(false); 076 node.is$Final(false); 077 return node; 078 } 079 /** 080 * @apilevel internal 081 */ 082 @SuppressWarnings({"unchecked", "cast"}) 083 public Program copy() { 084 085 try { 086 Program node = (Program) clone(); 087 node.parent = null; 088 if(children != null) 089 node.children = (ASTNode[]) children.clone(); 090 091 return node; 092 } catch (CloneNotSupportedException e) { 093 throw new Error("Error: clone not supported for " + getClass().getName()); 094 } 095 096 }/** 097 * Create a deep copy of the AST subtree at this node. 098 * The copy is dangling, i.e. has no parent. 099 * @return dangling copy of the subtree at this node 100 * @apilevel low-level 101 */ 102 @SuppressWarnings({"unchecked", "cast"}) 103 public Program fullCopy() { 104 105 Program tree = (Program) copy(); 106 if (children != null) { 107 for (int i = 0; i < children.length; ++i) { 108 109 ASTNode child = (ASTNode) children[i]; 110 if(child != null) { 111 child = child.fullCopy(); 112 tree.setChild(child, i); 113 } 114 } 115 } 116 return tree; 117 118 } /** 119 * @ast method 120 * @aspect ClassPath 121 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:22 122 */ 123 124 125 protected BytecodeReader bytecodeReader; 126 /** 127 * @ast method 128 * @aspect ClassPath 129 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:23 130 */ 131 public void initBytecodeReader(BytecodeReader r) { bytecodeReader = r; } 132 /** 133 * @ast method 134 * @aspect ClassPath 135 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:24 136 */ 137 138 protected JavaParser javaParser; 139 /** 140 * @ast method 141 * @aspect ClassPath 142 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:25 143 */ 144 public void initJavaParser(JavaParser p) { javaParser = p; } 145 /** 146 * Add a filename to the list of source files to process. 147 * @return The CompilationUnit representing the source file, 148 * or <code>null</code> if no such file exists 149 * @ast method 150 * @aspect ClassPath 151 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:39 152 */ 153 public CompilationUnit addSourceFile(String name) { 154 return sourceFiles.addSourceFile(name); 155 } 156 /** 157 * @ast method 158 * @aspect ClassPath 159 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:44 160 */ 161 public Iterator compilationUnitIterator() { 162 initPaths(); 163 return new Iterator() { 164 int index = 0; 165 public boolean hasNext() { 166 return index < getNumCompilationUnit() || !sourceFiles.isEmpty(); 167 } 168 public Object next() { 169 if(getNumCompilationUnit() == index) { 170 String typename = (String)sourceFiles.keySet().iterator().next(); 171 CompilationUnit u = getCompilationUnit(typename); 172 if(u != null) { 173 addCompilationUnit(u); 174 getCompilationUnit(getNumCompilationUnit()-1); 175 } 176 else 177 throw new Error("File " + typename + " not found"); 178 } 179 return getCompilationUnit(index++); 180 } 181 public void remove() { 182 throw new UnsupportedOperationException(); 183 } 184 }; 185 } 186 /** 187 * @ast method 188 * @aspect ClassPath 189 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:73 190 */ 191 public InputStream getInputStream(String name) { 192 initPaths(); 193 try { 194 for(Iterator iter = classPath.iterator(); iter.hasNext(); ) { 195 PathPart part = (PathPart)iter.next(); 196 if(part.selectCompilationUnit(name)) 197 return part.is; 198 } 199 } 200 catch(IOException e) { 201 } 202 throw new Error("Could not find nested type " + name); 203 } 204 /** 205 * @ast method 206 * @aspect ClassPath 207 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:96 208 */ 209 public CompilationUnit getCompilationUnit(String name) { 210 initPaths(); 211 try { 212 if(sourceFiles.selectCompilationUnit(name)) 213 return sourceFiles.getCompilationUnit(); 214 PathPart sourcePart = null; 215 PathPart classPart = null; 216 for(Iterator iter = sourcePath.iterator(); iter.hasNext() && sourcePart == null; ) { 217 PathPart part = (PathPart)iter.next(); 218 if(part.selectCompilationUnit(name)) 219 sourcePart = part; 220 } 221 for(Iterator iter = classPath.iterator(); iter.hasNext() && classPart == null; ) { 222 PathPart part = (PathPart)iter.next(); 223 if(part.selectCompilationUnit(name)) 224 classPart = part; 225 } 226 227 if(sourcePart != null && (classPart == null || classPart.age < sourcePart.age)) { 228 CompilationUnit unit = sourcePart.getCompilationUnit(); 229 int index = name.lastIndexOf('.'); 230 if(index == -1) 231 return unit; 232 String pkgName = name.substring(0, index); 233 if(pkgName.equals(unit.getPackageDecl())) 234 return unit; 235 } 236 if(classPart != null) { 237 CompilationUnit unit = classPart.getCompilationUnit(); 238 int index = name.lastIndexOf('.'); 239 if(index == -1) 240 return unit; 241 String pkgName = name.substring(0, index); 242 if(pkgName.equals(unit.getPackageDecl())) 243 return unit; 244 } 245 return null; 246 } 247 catch(IOException e) { 248 } 249 return null; 250 } 251 /** 252 * @return <code>true</code> if there is a package with the given name on 253 * the path 254 * @ast method 255 * @aspect ClassPath 256 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:143 257 */ 258 public boolean isPackage(String name) { 259 if(sourceFiles.hasPackage(name)) 260 return true; 261 for(Iterator iter = classPath.iterator(); iter.hasNext(); ) { 262 PathPart part = (PathPart)iter.next(); 263 if(part.hasPackage(name)) 264 return true; 265 } 266 for(Iterator iter = sourcePath.iterator(); iter.hasNext(); ) { 267 PathPart part = (PathPart)iter.next(); 268 if(part.hasPackage(name)) 269 return true; 270 } 271 return false; 272 } 273 /** 274 * @ast method 275 * @aspect ClassPath 276 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:173 277 */ 278 279 280 private boolean pathsInitialized = false; 281 /** 282 * @ast method 283 * @aspect ClassPath 284 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:174 285 */ 286 287 private java.util.ArrayList classPath; 288 /** 289 * @ast method 290 * @aspect ClassPath 291 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:175 292 */ 293 294 private java.util.ArrayList sourcePath; 295 /** 296 * @ast method 297 * @aspect ClassPath 298 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:176 299 */ 300 301 private FileNamesPart sourceFiles = new FileNamesPart(this); 302 /** 303 * @ast method 304 * @aspect ClassPath 305 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:178 306 */ 307 public void pushClassPath(String name) { 308 PathPart part = PathPart.createSourcePath(name, this); 309 if(part != null) { 310 sourcePath.add(part); 311 System.out.println("Pushing source path " + name); 312 } 313 else 314 throw new Error("Could not push source path " + name); 315 part = PathPart.createClassPath(name, this); 316 if(part != null) { 317 classPath.add(part); 318 System.out.println("Pushing class path " + name); 319 } 320 } 321 /** 322 * @ast method 323 * @aspect ClassPath 324 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:192 325 */ 326 public void popClassPath() { 327 if(sourcePath.size() > 0) 328 sourcePath.remove(sourcePath.size()-1); 329 if(classPath.size() > 0) 330 classPath.remove(classPath.size()-1); 331 } 332 /** 333 * @ast method 334 * @aspect ClassPath 335 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:199 336 */ 337 public void initPaths() { 338 if(!pathsInitialized) { 339 pathsInitialized = true; 340 341 //System.err.println("Initializing class paths"); 342 343 ArrayList classPaths = new ArrayList(); 344 ArrayList sourcePaths = new ArrayList(); 345 346 String[] bootclasspaths; 347 if(options().hasValueForOption("-bootclasspath")) 348 bootclasspaths = options().getValueForOption("-bootclasspath").split(File.pathSeparator); 349 else 350 bootclasspaths = System.getProperty("sun.boot.class.path").split(File.pathSeparator); 351 for(int i = 0; i < bootclasspaths.length; i++) { 352 classPaths.add(bootclasspaths[i]); 353 //System.err.println("Adding classpath " + bootclasspaths[i]); 354 } 355 356 String[] extdirs; 357 if(options().hasValueForOption("-extdirs")) 358 extdirs = options().getValueForOption("-extdirs").split(File.pathSeparator); 359 else 360 extdirs = System.getProperty("java.ext.dirs").split(File.pathSeparator); 361 for(int i = 0; i < extdirs.length; i++) { 362 classPaths.add(extdirs[i]); 363 //System.err.println("Adding classpath " + extdirs[i]); 364 } 365 366 String[] userClasses = null; 367 if(options().hasValueForOption("-classpath")) 368 userClasses = options().getValueForOption("-classpath").split(File.pathSeparator); 369 else if(options().hasValueForOption("-cp")) 370 userClasses = options().getValueForOption("-cp").split(File.pathSeparator); 371 else { 372 userClasses = ".".split(File.pathSeparator); 373 } 374 if(!options().hasValueForOption("-sourcepath")) { 375 for(int i = 0; i < userClasses.length; i++) { 376 classPaths.add(userClasses[i]); 377 sourcePaths.add(userClasses[i]); 378 //System.err.println("Adding classpath/sourcepath " + userClasses[i]); 379 } 380 } 381 else { 382 for(int i = 0; i < userClasses.length; i++) { 383 classPaths.add(userClasses[i]); 384 //System.err.println("Adding classpath " + userClasses[i]); 385 } 386 userClasses = options().getValueForOption("-sourcepath").split(File.pathSeparator); 387 for(int i = 0; i < userClasses.length; i++) { 388 sourcePaths.add(userClasses[i]); 389 //System.err.println("Adding sourcepath " + userClasses[i]); 390 } 391 } 392 393 classPath = new ArrayList(); 394 sourcePath = new ArrayList(); 395 396 for(Iterator iter = classPaths.iterator(); iter.hasNext(); ) { 397 String s = (String)iter.next(); 398 PathPart part = PathPart.createClassPath(s, this); 399 if(part != null) { 400 classPath.add(part); 401 //System.out.println("Adding classpath " + s); 402 } 403 else if(options().verbose()) 404 System.out.println("Warning: Could not use " + s + " as class path"); 405 } 406 for(Iterator iter = sourcePaths.iterator(); iter.hasNext(); ) { 407 String s = (String)iter.next(); 408 PathPart part = PathPart.createSourcePath(s, this); 409 if(part != null) { 410 sourcePath.add(part); 411 //System.out.println("Adding sourcepath " + s); 412 } 413 else if(options().verbose()) 414 System.out.println("Warning: Could not use " + s + " as source path"); 415 } 416 } 417 } 418 /** 419 * Add a path part to the library class path. 420 * @ast method 421 * @aspect ClassPath 422 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:284 423 */ 424 public void addClassPath(PathPart pathPart) { 425 classPath.add(pathPart); 426 pathPart.program = this; 427 } 428 /** 429 * Add a path part to the user class path. 430 * @ast method 431 * @aspect ClassPath 432 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:292 433 */ 434 public void addSourcePath(PathPart pathPart) { 435 sourcePath.add(pathPart); 436 pathPart.program = this; 437 } 438 /** 439 * @ast method 440 * @aspect ClassPath 441 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:298 442 */ 443 public void simpleReset() { 444 lookupType_String_String_values = new HashMap(); 445 hasPackage_String_values = new HashMap(); 446 List list = new List(); 447 for(int i = 0; i < getNumCompilationUnit(); i++) { 448 CompilationUnit unit = getCompilationUnit(i); 449 if(!unit.fromSource()) { 450 list.add(unit); 451 } 452 } 453 setCompilationUnitList(list); 454 } 455 /** 456 * @ast method 457 * @aspect ErrorCheck 458 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ErrorCheck.jrag:208 459 */ 460 public void errorCheck(Collection collection) { 461 for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) { 462 CompilationUnit cu = (CompilationUnit)iter.next(); 463 if(cu.fromSource()) { 464 cu.collectErrors(); 465 collection.addAll(cu.errors); 466 } 467 } 468 } 469 /** 470 * @ast method 471 * @aspect ErrorCheck 472 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ErrorCheck.jrag:217 473 */ 474 public void errorCheck(Collection collection, Collection warn) { 475 for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) { 476 CompilationUnit cu = (CompilationUnit)iter.next(); 477 if(cu.fromSource()) { 478 cu.collectErrors(); 479 collection.addAll(cu.errors); 480 warn.addAll(cu.warnings); 481 } 482 } 483 } 484 /** 485 * @ast method 486 * @aspect ErrorCheck 487 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ErrorCheck.jrag:238 488 */ 489 public boolean errorCheck() { 490 Collection collection = new LinkedList(); 491 errorCheck(collection); 492 if(collection.isEmpty()) 493 return false; 494 System.out.println("Errors:"); 495 for(Iterator iter = collection.iterator(); iter.hasNext(); ) { 496 String s = (String)iter.next(); 497 System.out.println(s); 498 } 499 return true; 500 } 501 /** 502 * @ast method 503 * @aspect LookupFullyQualifiedTypes 504 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:101 505 */ 506 507 508 public int classFileReadTime; 509 /** 510 * @ast method 511 * @aspect PrettyPrint 512 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/PrettyPrint.jadd:23 513 */ 514 public void toString(StringBuffer s) { 515 for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) { 516 CompilationUnit cu = (CompilationUnit)iter.next(); 517 if(cu.fromSource()) { 518 cu.toString(s); 519 } 520 } 521 } 522 /** 523 * @ast method 524 * @aspect PrettyPrint 525 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/PrettyPrint.jadd:821 526 */ 527 public String dumpTree() { 528 StringBuffer s = new StringBuffer(); 529 for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) { 530 CompilationUnit cu = (CompilationUnit)iter.next(); 531 if(cu.fromSource()) { 532 s.append(cu.dumpTree()); 533 } 534 } 535 return s.toString(); 536 } 537 /** 538 * @ast method 539 * @aspect GenerateClassfile 540 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/GenerateClassfile.jrag:11 541 */ 542 public void generateClassfile() { 543 for(Iterator iter = compilationUnitIterator(); iter.hasNext(); ) { 544 CompilationUnit cu = (CompilationUnit)iter.next(); 545 cu.generateClassfile(); 546 } 547 } 548 /** 549 * @ast method 550 * 551 */ 552 public Program() { 553 super(); 554 555 is$Final(true); 556 557 } 558 /** 559 * Initializes the child array to the correct size. 560 * Initializes List and Opt nta children. 561 * @apilevel internal 562 * @ast method 563 * @ast method 564 * 565 */ 566 public void init$Children() { 567 children = new ASTNode[1]; 568 setChild(new List(), 0); 569 } 570 /** 571 * @ast method 572 * 573 */ 574 public Program(List<CompilationUnit> p0) { 575 setChild(p0, 0); 576 is$Final(true); 577 } 578 /** 579 * @apilevel low-level 580 * @ast method 581 * 582 */ 583 protected int numChildren() { 584 return 1; 585 } 586 /** 587 * @apilevel internal 588 * @ast method 589 * 590 */ 591 public boolean mayHaveRewrite() { 592 return false; 593 } 594 /** 595 * Replaces the CompilationUnit list. 596 * @param list The new list node to be used as the CompilationUnit list. 597 * @apilevel high-level 598 * @ast method 599 * 600 */ 601 public void setCompilationUnitList(List<CompilationUnit> list) { 602 setChild(list, 0); 603 } 604 /** 605 * Retrieves the number of children in the CompilationUnit list. 606 * @return Number of children in the CompilationUnit list. 607 * @apilevel high-level 608 * @ast method 609 * 610 */ 611 public int getNumCompilationUnit() { 612 return getCompilationUnitList().getNumChild(); 613 } 614 /** 615 * Retrieves the number of children in the CompilationUnit list. 616 * Calling this method will not trigger rewrites.. 617 * @return Number of children in the CompilationUnit list. 618 * @apilevel low-level 619 * @ast method 620 * 621 */ 622 public int getNumCompilationUnitNoTransform() { 623 return getCompilationUnitListNoTransform().getNumChildNoTransform(); 624 } 625 /** 626 * Retrieves the element at index {@code i} in the CompilationUnit list.. 627 * @param i Index of the element to return. 628 * @return The element at position {@code i} in the CompilationUnit list. 629 * @apilevel high-level 630 * @ast method 631 * 632 */ 633 @SuppressWarnings({"unchecked", "cast"}) 634 public CompilationUnit getCompilationUnit(int i) { 635 return (CompilationUnit)getCompilationUnitList().getChild(i); 636 } 637 /** 638 * Append an element to the CompilationUnit list. 639 * @param node The element to append to the CompilationUnit list. 640 * @apilevel high-level 641 * @ast method 642 * 643 */ 644 public void addCompilationUnit(CompilationUnit node) { 645 List<CompilationUnit> list = (parent == null || state == null) ? getCompilationUnitListNoTransform() : getCompilationUnitList(); 646 list.addChild(node); 647 } 648 /** 649 * @apilevel low-level 650 * @ast method 651 * 652 */ 653 public void addCompilationUnitNoTransform(CompilationUnit node) { 654 List<CompilationUnit> list = getCompilationUnitListNoTransform(); 655 list.addChild(node); 656 } 657 /** 658 * Replaces the CompilationUnit list element at index {@code i} with the new node {@code node}. 659 * @param node The new node to replace the old list element. 660 * @param i The list index of the node to be replaced. 661 * @apilevel high-level 662 * @ast method 663 * 664 */ 665 public void setCompilationUnit(CompilationUnit node, int i) { 666 List<CompilationUnit> list = getCompilationUnitList(); 667 list.setChild(node, i); 668 } 669 /** 670 * Retrieves the CompilationUnit list. 671 * @return The node representing the CompilationUnit list. 672 * @apilevel high-level 673 * @ast method 674 * 675 */ 676 public List<CompilationUnit> getCompilationUnits() { 677 return getCompilationUnitList(); 678 } 679 /** 680 * Retrieves the CompilationUnit list. 681 * <p><em>This method does not invoke AST transformations.</em></p> 682 * @return The node representing the CompilationUnit list. 683 * @apilevel low-level 684 * @ast method 685 * 686 */ 687 public List<CompilationUnit> getCompilationUnitsNoTransform() { 688 return getCompilationUnitListNoTransform(); 689 } 690 /** 691 * Retrieves the CompilationUnit list. 692 * @return The node representing the CompilationUnit list. 693 * @apilevel high-level 694 * @ast method 695 * 696 */ 697 @SuppressWarnings({"unchecked", "cast"}) 698 public List<CompilationUnit> refined__Program_getCompilationUnitList() { 699 List<CompilationUnit> list = (List<CompilationUnit>)getChild(0); 700 list.getNumChild(); 701 return list; 702 } 703 /** 704 * Retrieves the CompilationUnit list. 705 * <p><em>This method does not invoke AST transformations.</em></p> 706 * @return The node representing the CompilationUnit list. 707 * @apilevel low-level 708 * @ast method 709 * 710 */ 711 @SuppressWarnings({"unchecked", "cast"}) 712 public List<CompilationUnit> getCompilationUnitListNoTransform() { 713 return (List<CompilationUnit>)getChildNoTransform(0); 714 } 715 /** 716 * @ast method 717 * @aspect ClassPath 718 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ClassPath.jrag:87 719 */ 720 public List getCompilationUnitList() { 721 initPaths(); 722 return refined__Program_getCompilationUnitList(); 723 } 724 /** 725 * @apilevel internal 726 */ 727 protected boolean typeObject_computed = false; 728 /** 729 * @apilevel internal 730 */ 731 protected TypeDecl typeObject_value; 732 /** 733 * @attribute syn 734 * @aspect SpecialClasses 735 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:15 736 */ 737 @SuppressWarnings({"unchecked", "cast"}) 738 public TypeDecl typeObject() { 739 if(typeObject_computed) { 740 return typeObject_value; 741 } 742 ASTNode$State state = state(); 743 int num = state.boundariesCrossed; 744 boolean isFinal = this.is$Final(); 745 typeObject_value = typeObject_compute(); 746 if(isFinal && num == state().boundariesCrossed){ typeObject_computed = true; } 747 return typeObject_value; 748 } 749 /** 750 * @apilevel internal 751 */ 752 private TypeDecl typeObject_compute() { return lookupType("java.lang", "Object"); } 753 /** 754 * @apilevel internal 755 */ 756 protected boolean typeCloneable_computed = false; 757 /** 758 * @apilevel internal 759 */ 760 protected TypeDecl typeCloneable_value; 761 /** 762 * @attribute syn 763 * @aspect SpecialClasses 764 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:16 765 */ 766 @SuppressWarnings({"unchecked", "cast"}) 767 public TypeDecl typeCloneable() { 768 if(typeCloneable_computed) { 769 return typeCloneable_value; 770 } 771 ASTNode$State state = state(); 772 int num = state.boundariesCrossed; 773 boolean isFinal = this.is$Final(); 774 typeCloneable_value = typeCloneable_compute(); 775 if(isFinal && num == state().boundariesCrossed){ typeCloneable_computed = true; } 776 return typeCloneable_value; 777 } 778 /** 779 * @apilevel internal 780 */ 781 private TypeDecl typeCloneable_compute() { return lookupType("java.lang", "Cloneable"); } 782 /** 783 * @apilevel internal 784 */ 785 protected boolean typeSerializable_computed = false; 786 /** 787 * @apilevel internal 788 */ 789 protected TypeDecl typeSerializable_value; 790 /** 791 * @attribute syn 792 * @aspect SpecialClasses 793 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:17 794 */ 795 @SuppressWarnings({"unchecked", "cast"}) 796 public TypeDecl typeSerializable() { 797 if(typeSerializable_computed) { 798 return typeSerializable_value; 799 } 800 ASTNode$State state = state(); 801 int num = state.boundariesCrossed; 802 boolean isFinal = this.is$Final(); 803 typeSerializable_value = typeSerializable_compute(); 804 if(isFinal && num == state().boundariesCrossed){ typeSerializable_computed = true; } 805 return typeSerializable_value; 806 } 807 /** 808 * @apilevel internal 809 */ 810 private TypeDecl typeSerializable_compute() { return lookupType("java.io", "Serializable"); } 811 /** 812 * @apilevel internal 813 */ 814 protected boolean typeBoolean_computed = false; 815 /** 816 * @apilevel internal 817 */ 818 protected TypeDecl typeBoolean_value; 819 /** 820 * @attribute syn 821 * @aspect SpecialClasses 822 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:22 823 */ 824 @SuppressWarnings({"unchecked", "cast"}) 825 public TypeDecl typeBoolean() { 826 if(typeBoolean_computed) { 827 return typeBoolean_value; 828 } 829 ASTNode$State state = state(); 830 int num = state.boundariesCrossed; 831 boolean isFinal = this.is$Final(); 832 typeBoolean_value = typeBoolean_compute(); 833 if(isFinal && num == state().boundariesCrossed){ typeBoolean_computed = true; } 834 return typeBoolean_value; 835 } 836 /** 837 * @apilevel internal 838 */ 839 private TypeDecl typeBoolean_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME, "boolean"); } 840 /** 841 * @apilevel internal 842 */ 843 protected boolean typeByte_computed = false; 844 /** 845 * @apilevel internal 846 */ 847 protected TypeDecl typeByte_value; 848 /** 849 * @attribute syn 850 * @aspect SpecialClasses 851 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:23 852 */ 853 @SuppressWarnings({"unchecked", "cast"}) 854 public TypeDecl typeByte() { 855 if(typeByte_computed) { 856 return typeByte_value; 857 } 858 ASTNode$State state = state(); 859 int num = state.boundariesCrossed; 860 boolean isFinal = this.is$Final(); 861 typeByte_value = typeByte_compute(); 862 if(isFinal && num == state().boundariesCrossed){ typeByte_computed = true; } 863 return typeByte_value; 864 } 865 /** 866 * @apilevel internal 867 */ 868 private TypeDecl typeByte_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME , "byte"); } 869 /** 870 * @apilevel internal 871 */ 872 protected boolean typeShort_computed = false; 873 /** 874 * @apilevel internal 875 */ 876 protected TypeDecl typeShort_value; 877 /** 878 * @attribute syn 879 * @aspect SpecialClasses 880 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:24 881 */ 882 @SuppressWarnings({"unchecked", "cast"}) 883 public TypeDecl typeShort() { 884 if(typeShort_computed) { 885 return typeShort_value; 886 } 887 ASTNode$State state = state(); 888 int num = state.boundariesCrossed; 889 boolean isFinal = this.is$Final(); 890 typeShort_value = typeShort_compute(); 891 if(isFinal && num == state().boundariesCrossed){ typeShort_computed = true; } 892 return typeShort_value; 893 } 894 /** 895 * @apilevel internal 896 */ 897 private TypeDecl typeShort_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME , "short"); } 898 /** 899 * @apilevel internal 900 */ 901 protected boolean typeChar_computed = false; 902 /** 903 * @apilevel internal 904 */ 905 protected TypeDecl typeChar_value; 906 /** 907 * @attribute syn 908 * @aspect SpecialClasses 909 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:25 910 */ 911 @SuppressWarnings({"unchecked", "cast"}) 912 public TypeDecl typeChar() { 913 if(typeChar_computed) { 914 return typeChar_value; 915 } 916 ASTNode$State state = state(); 917 int num = state.boundariesCrossed; 918 boolean isFinal = this.is$Final(); 919 typeChar_value = typeChar_compute(); 920 if(isFinal && num == state().boundariesCrossed){ typeChar_computed = true; } 921 return typeChar_value; 922 } 923 /** 924 * @apilevel internal 925 */ 926 private TypeDecl typeChar_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME , "char"); } 927 /** 928 * @apilevel internal 929 */ 930 protected boolean typeInt_computed = false; 931 /** 932 * @apilevel internal 933 */ 934 protected TypeDecl typeInt_value; 935 /** 936 * @attribute syn 937 * @aspect SpecialClasses 938 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:26 939 */ 940 @SuppressWarnings({"unchecked", "cast"}) 941 public TypeDecl typeInt() { 942 if(typeInt_computed) { 943 return typeInt_value; 944 } 945 ASTNode$State state = state(); 946 int num = state.boundariesCrossed; 947 boolean isFinal = this.is$Final(); 948 typeInt_value = typeInt_compute(); 949 if(isFinal && num == state().boundariesCrossed){ typeInt_computed = true; } 950 return typeInt_value; 951 } 952 /** 953 * @apilevel internal 954 */ 955 private TypeDecl typeInt_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME , "int"); } 956 /** 957 * @apilevel internal 958 */ 959 protected boolean typeLong_computed = false; 960 /** 961 * @apilevel internal 962 */ 963 protected TypeDecl typeLong_value; 964 /** 965 * @attribute syn 966 * @aspect SpecialClasses 967 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:27 968 */ 969 @SuppressWarnings({"unchecked", "cast"}) 970 public TypeDecl typeLong() { 971 if(typeLong_computed) { 972 return typeLong_value; 973 } 974 ASTNode$State state = state(); 975 int num = state.boundariesCrossed; 976 boolean isFinal = this.is$Final(); 977 typeLong_value = typeLong_compute(); 978 if(isFinal && num == state().boundariesCrossed){ typeLong_computed = true; } 979 return typeLong_value; 980 } 981 /** 982 * @apilevel internal 983 */ 984 private TypeDecl typeLong_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME , "long"); } 985 /** 986 * @apilevel internal 987 */ 988 protected boolean typeFloat_computed = false; 989 /** 990 * @apilevel internal 991 */ 992 protected TypeDecl typeFloat_value; 993 /** 994 * @attribute syn 995 * @aspect SpecialClasses 996 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:28 997 */ 998 @SuppressWarnings({"unchecked", "cast"}) 999 public TypeDecl typeFloat() { 1000 if(typeFloat_computed) { 1001 return typeFloat_value; 1002 } 1003 ASTNode$State state = state(); 1004 int num = state.boundariesCrossed; 1005 boolean isFinal = this.is$Final(); 1006 typeFloat_value = typeFloat_compute(); 1007 if(isFinal && num == state().boundariesCrossed){ typeFloat_computed = true; } 1008 return typeFloat_value; 1009 } 1010 /** 1011 * @apilevel internal 1012 */ 1013 private TypeDecl typeFloat_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME , "float"); } 1014 /** 1015 * @apilevel internal 1016 */ 1017 protected boolean typeDouble_computed = false; 1018 /** 1019 * @apilevel internal 1020 */ 1021 protected TypeDecl typeDouble_value; 1022 /** 1023 * @attribute syn 1024 * @aspect SpecialClasses 1025 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:29 1026 */ 1027 @SuppressWarnings({"unchecked", "cast"}) 1028 public TypeDecl typeDouble() { 1029 if(typeDouble_computed) { 1030 return typeDouble_value; 1031 } 1032 ASTNode$State state = state(); 1033 int num = state.boundariesCrossed; 1034 boolean isFinal = this.is$Final(); 1035 typeDouble_value = typeDouble_compute(); 1036 if(isFinal && num == state().boundariesCrossed){ typeDouble_computed = true; } 1037 return typeDouble_value; 1038 } 1039 /** 1040 * @apilevel internal 1041 */ 1042 private TypeDecl typeDouble_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME , "double"); } 1043 /** 1044 * @apilevel internal 1045 */ 1046 protected boolean typeString_computed = false; 1047 /** 1048 * @apilevel internal 1049 */ 1050 protected TypeDecl typeString_value; 1051 /** 1052 * @attribute syn 1053 * @aspect SpecialClasses 1054 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:30 1055 */ 1056 @SuppressWarnings({"unchecked", "cast"}) 1057 public TypeDecl typeString() { 1058 if(typeString_computed) { 1059 return typeString_value; 1060 } 1061 ASTNode$State state = state(); 1062 int num = state.boundariesCrossed; 1063 boolean isFinal = this.is$Final(); 1064 typeString_value = typeString_compute(); 1065 if(isFinal && num == state().boundariesCrossed){ typeString_computed = true; } 1066 return typeString_value; 1067 } 1068 /** 1069 * @apilevel internal 1070 */ 1071 private TypeDecl typeString_compute() { return lookupType("java.lang", "String"); } 1072 /** 1073 * @apilevel internal 1074 */ 1075 protected boolean typeVoid_computed = false; 1076 /** 1077 * @apilevel internal 1078 */ 1079 protected TypeDecl typeVoid_value; 1080 /** 1081 * @attribute syn 1082 * @aspect SpecialClasses 1083 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:41 1084 */ 1085 @SuppressWarnings({"unchecked", "cast"}) 1086 public TypeDecl typeVoid() { 1087 if(typeVoid_computed) { 1088 return typeVoid_value; 1089 } 1090 ASTNode$State state = state(); 1091 int num = state.boundariesCrossed; 1092 boolean isFinal = this.is$Final(); 1093 typeVoid_value = typeVoid_compute(); 1094 if(isFinal && num == state().boundariesCrossed){ typeVoid_computed = true; } 1095 return typeVoid_value; 1096 } 1097 /** 1098 * @apilevel internal 1099 */ 1100 private TypeDecl typeVoid_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME, "void"); } 1101 /** 1102 * @apilevel internal 1103 */ 1104 protected boolean typeNull_computed = false; 1105 /** 1106 * @apilevel internal 1107 */ 1108 protected TypeDecl typeNull_value; 1109 /** 1110 * @attribute syn 1111 * @aspect SpecialClasses 1112 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:43 1113 */ 1114 @SuppressWarnings({"unchecked", "cast"}) 1115 public TypeDecl typeNull() { 1116 if(typeNull_computed) { 1117 return typeNull_value; 1118 } 1119 ASTNode$State state = state(); 1120 int num = state.boundariesCrossed; 1121 boolean isFinal = this.is$Final(); 1122 typeNull_value = typeNull_compute(); 1123 if(isFinal && num == state().boundariesCrossed){ typeNull_computed = true; } 1124 return typeNull_value; 1125 } 1126 /** 1127 * @apilevel internal 1128 */ 1129 private TypeDecl typeNull_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME, "null"); } 1130 /** 1131 * @apilevel internal 1132 */ 1133 protected boolean unknownType_computed = false; 1134 /** 1135 * @apilevel internal 1136 */ 1137 protected TypeDecl unknownType_value; 1138 /** 1139 * @attribute syn 1140 * @aspect SpecialClasses 1141 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:46 1142 */ 1143 @SuppressWarnings({"unchecked", "cast"}) 1144 public TypeDecl unknownType() { 1145 if(unknownType_computed) { 1146 return unknownType_value; 1147 } 1148 ASTNode$State state = state(); 1149 int num = state.boundariesCrossed; 1150 boolean isFinal = this.is$Final(); 1151 unknownType_value = unknownType_compute(); 1152 if(isFinal && num == state().boundariesCrossed){ unknownType_computed = true; } 1153 return unknownType_value; 1154 } 1155 /** 1156 * @apilevel internal 1157 */ 1158 private TypeDecl unknownType_compute() { return lookupType(PRIMITIVE_PACKAGE_NAME, "Unknown"); } 1159 protected java.util.Map hasPackage_String_values; 1160 /** 1161 * @attribute syn 1162 * @aspect LookupFullyQualifiedTypes 1163 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:77 1164 */ 1165 @SuppressWarnings({"unchecked", "cast"}) 1166 public boolean hasPackage(String packageName) { 1167 Object _parameters = packageName; 1168 if(hasPackage_String_values == null) hasPackage_String_values = new java.util.HashMap(4); 1169 if(hasPackage_String_values.containsKey(_parameters)) { 1170 return ((Boolean)hasPackage_String_values.get(_parameters)).booleanValue(); 1171 } 1172 ASTNode$State state = state(); 1173 int num = state.boundariesCrossed; 1174 boolean isFinal = this.is$Final(); 1175 boolean hasPackage_String_value = hasPackage_compute(packageName); 1176 if(isFinal && num == state().boundariesCrossed){ hasPackage_String_values.put(_parameters, Boolean.valueOf(hasPackage_String_value)); } 1177 return hasPackage_String_value; 1178 } 1179 /** 1180 * @apilevel internal 1181 */ 1182 private boolean hasPackage_compute(String packageName) { 1183 return isPackage(packageName); 1184 } 1185 protected java.util.Map lookupType_String_String_values; 1186 /** 1187 * Checks from-source compilation units for the given type. 1188 * If no matching compilation unit is found the library compliation units 1189 * will be searched. 1190 * @attribute syn 1191 * @aspect LookupFullyQualifiedTypes 1192 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:158 1193 */ 1194 @SuppressWarnings({"unchecked", "cast"}) 1195 public TypeDecl lookupType(String packageName, String typeName) { 1196 java.util.List _parameters = new java.util.ArrayList(2); 1197 _parameters.add(packageName); 1198 _parameters.add(typeName); 1199 if(lookupType_String_String_values == null) lookupType_String_String_values = new java.util.HashMap(4); 1200 if(lookupType_String_String_values.containsKey(_parameters)) { 1201 return (TypeDecl)lookupType_String_String_values.get(_parameters); 1202 } 1203 ASTNode$State state = state(); 1204 int num = state.boundariesCrossed; 1205 boolean isFinal = this.is$Final(); 1206 TypeDecl lookupType_String_String_value = lookupType_compute(packageName, typeName); 1207 if(isFinal && num == state().boundariesCrossed){ lookupType_String_String_values.put(_parameters, lookupType_String_String_value); } 1208 return lookupType_String_String_value; 1209 } 1210 /** 1211 * @apilevel internal 1212 */ 1213 private TypeDecl lookupType_compute(String packageName, String typeName) { 1214 String fullName = packageName.equals("") ? typeName : packageName + "." + typeName; 1215 // Check for type in source 1216 for(int i = 0; i < getNumCompilationUnit(); i++) { 1217 for(int j = 0; j < getCompilationUnit(i).getNumTypeDecl(); j++) { 1218 TypeDecl type = getCompilationUnit(i).getTypeDecl(j); 1219 if(type.fullName().equals(fullName)) { 1220 return type; 1221 } 1222 } 1223 } 1224 // Check for type in library 1225 return lookupLibType(packageName, typeName); 1226 } 1227 protected java.util.Map lookupLibType_String_String_values; 1228 /** 1229 * Lookup types in the library 1230 * @attribute syn 1231 * @aspect LookupFullyQualifiedTypes 1232 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:175 1233 */ 1234 @SuppressWarnings({"unchecked", "cast"}) 1235 public TypeDecl lookupLibType(String packageName, String typeName) { 1236 java.util.List _parameters = new java.util.ArrayList(2); 1237 _parameters.add(packageName); 1238 _parameters.add(typeName); 1239 if(lookupLibType_String_String_values == null) lookupLibType_String_String_values = new java.util.HashMap(4); 1240 if(lookupLibType_String_String_values.containsKey(_parameters)) { 1241 return (TypeDecl)lookupLibType_String_String_values.get(_parameters); 1242 } 1243 ASTNode$State state = state(); 1244 int num = state.boundariesCrossed; 1245 boolean isFinal = this.is$Final(); 1246 TypeDecl lookupLibType_String_String_value = lookupLibType_compute(packageName, typeName); 1247 if(isFinal && num == state().boundariesCrossed){ lookupLibType_String_String_values.put(_parameters, lookupLibType_String_String_value); } 1248 return lookupLibType_String_String_value; 1249 } 1250 /** 1251 * @apilevel internal 1252 */ 1253 private TypeDecl lookupLibType_compute(String packageName, String typeName) { 1254 String fullName = packageName.equals("") ? typeName : packageName + "." + typeName; 1255 // Check the primitive types 1256 if (packageName.equals(PRIMITIVE_PACKAGE_NAME)) { 1257 PrimitiveCompilationUnit unit = getPrimitiveCompilationUnit(); 1258 if (typeName.equals("boolean")) return unit.typeBoolean(); 1259 if (typeName.equals("byte")) return unit.typeByte(); 1260 if (typeName.equals("short")) return unit.typeShort(); 1261 if (typeName.equals("char")) return unit.typeChar(); 1262 if (typeName.equals("int")) return unit.typeInt(); 1263 if (typeName.equals("long")) return unit.typeLong(); 1264 if (typeName.equals("float")) return unit.typeFloat(); 1265 if (typeName.equals("double")) return unit.typeDouble(); 1266 if (typeName.equals("null")) return unit.typeNull(); 1267 if (typeName.equals("void")) return unit.typeVoid(); 1268 if (typeName.equals("Unknown")) return unit.unknownType(); // Is this needed? 1269 } 1270 // Check the library: 1271 // A type may not be in the library but an NTA cannot map to null. 1272 // We need to do some double work to step around this. 1273 // We check the classpath directly (the same thing the library NTA does) 1274 // to prevent that we call the nta for a name that gives null back 1275 //else if (getCompilationUnit(fullName) != null) { 1276 1277 // Found a library unit, check it for type 1278 CompilationUnit libUnit = getLibCompilationUnit(fullName); 1279 if (libUnit != null) { 1280 for(int j = 0; j < libUnit.getNumTypeDecl(); j++) { 1281 TypeDecl type = libUnit.getTypeDecl(j); 1282 if(type.fullName().equals(fullName)) { 1283 return type; 1284 } 1285 } 1286 } 1287 // No type found in the library 1288 return null; 1289 } 1290 /** 1291 * @apilevel internal 1292 */ 1293 protected java.util.Map getLibCompilationUnit_String_values; 1294 /** 1295 * @apilevel internal 1296 */ 1297 protected List getLibCompilationUnit_String_list; 1298 /** 1299 * @attribute syn 1300 * @aspect LookupFullyQualifiedTypes 1301 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:213 1302 */ 1303 @SuppressWarnings({"unchecked", "cast"}) 1304 public CompilationUnit getLibCompilationUnit(String fullName) { 1305 Object _parameters = fullName; 1306 if(getLibCompilationUnit_String_values == null) getLibCompilationUnit_String_values = new java.util.HashMap(4); 1307 if(getLibCompilationUnit_String_values.containsKey(_parameters)) { 1308 return (CompilationUnit)getLibCompilationUnit_String_values.get(_parameters); 1309 } 1310 ASTNode$State state = state(); 1311 int num = state.boundariesCrossed; 1312 boolean isFinal = this.is$Final(); 1313 CompilationUnit getLibCompilationUnit_String_value = getLibCompilationUnit_compute(fullName); 1314 if(getLibCompilationUnit_String_list == null) { 1315 getLibCompilationUnit_String_list = new List(); 1316 getLibCompilationUnit_String_list.is$Final = true; 1317 getLibCompilationUnit_String_list.setParent(this); 1318 } 1319 getLibCompilationUnit_String_list.add(getLibCompilationUnit_String_value); 1320 if(getLibCompilationUnit_String_value != null) { 1321 getLibCompilationUnit_String_value = (CompilationUnit)getLibCompilationUnit_String_list.getChild(getLibCompilationUnit_String_list.numChildren-1); 1322 getLibCompilationUnit_String_value.is$Final = true; 1323 } 1324 if(true){ getLibCompilationUnit_String_values.put(_parameters, getLibCompilationUnit_String_value); } 1325 return getLibCompilationUnit_String_value; 1326 } 1327 /** 1328 * @apilevel internal 1329 */ 1330 private CompilationUnit getLibCompilationUnit_compute(String fullName) { 1331 return getCompilationUnit(fullName); 1332 } 1333 /** 1334 * @apilevel internal 1335 */ 1336 protected boolean getPrimitiveCompilationUnit_computed = false; 1337 /** 1338 * @apilevel internal 1339 */ 1340 protected PrimitiveCompilationUnit getPrimitiveCompilationUnit_value; 1341 /** 1342 * @attribute syn 1343 * @aspect PrimitiveTypes 1344 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/PrimitiveTypes.jrag:219 1345 */ 1346 @SuppressWarnings({"unchecked", "cast"}) 1347 public PrimitiveCompilationUnit getPrimitiveCompilationUnit() { 1348 if(getPrimitiveCompilationUnit_computed) { 1349 return getPrimitiveCompilationUnit_value; 1350 } 1351 ASTNode$State state = state(); 1352 int num = state.boundariesCrossed; 1353 boolean isFinal = this.is$Final(); 1354 getPrimitiveCompilationUnit_value = getPrimitiveCompilationUnit_compute(); 1355 getPrimitiveCompilationUnit_value.setParent(this); 1356 getPrimitiveCompilationUnit_value.is$Final = true; 1357 if(true){ getPrimitiveCompilationUnit_computed = true; } 1358 return getPrimitiveCompilationUnit_value; 1359 } 1360 /** 1361 * @apilevel internal 1362 */ 1363 private PrimitiveCompilationUnit getPrimitiveCompilationUnit_compute() { 1364 PrimitiveCompilationUnit u = new PrimitiveCompilationUnit(); 1365 u.setPackageDecl(PRIMITIVE_PACKAGE_NAME); 1366 return u; 1367 } 1368 /** 1369 * @apilevel internal 1370 */ 1371 protected boolean unknownConstructor_computed = false; 1372 /** 1373 * @apilevel internal 1374 */ 1375 protected ConstructorDecl unknownConstructor_value; 1376 /** 1377 * @attribute syn 1378 * @aspect TypeAnalysis 1379 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:245 1380 */ 1381 @SuppressWarnings({"unchecked", "cast"}) 1382 public ConstructorDecl unknownConstructor() { 1383 if(unknownConstructor_computed) { 1384 return unknownConstructor_value; 1385 } 1386 ASTNode$State state = state(); 1387 int num = state.boundariesCrossed; 1388 boolean isFinal = this.is$Final(); 1389 unknownConstructor_value = unknownConstructor_compute(); 1390 if(isFinal && num == state().boundariesCrossed){ unknownConstructor_computed = true; } 1391 return unknownConstructor_value; 1392 } 1393 /** 1394 * @apilevel internal 1395 */ 1396 private ConstructorDecl unknownConstructor_compute() { 1397 return (ConstructorDecl)unknownType().constructors().iterator().next(); 1398 } 1399 /** 1400 * @apilevel internal 1401 */ 1402 protected boolean wildcards_computed = false; 1403 /** 1404 * @apilevel internal 1405 */ 1406 protected WildcardsCompilationUnit wildcards_value; 1407 /** 1408 * @attribute syn 1409 * @aspect LookupParTypeDecl 1410 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:1358 1411 */ 1412 @SuppressWarnings({"unchecked", "cast"}) 1413 public WildcardsCompilationUnit wildcards() { 1414 if(wildcards_computed) { 1415 return wildcards_value; 1416 } 1417 ASTNode$State state = state(); 1418 int num = state.boundariesCrossed; 1419 boolean isFinal = this.is$Final(); 1420 wildcards_value = wildcards_compute(); 1421 wildcards_value.setParent(this); 1422 wildcards_value.is$Final = true; 1423 if(true){ wildcards_computed = true; } 1424 return wildcards_value; 1425 } 1426 /** 1427 * @apilevel internal 1428 */ 1429 private WildcardsCompilationUnit wildcards_compute() { 1430 return new WildcardsCompilationUnit( 1431 "wildcards", 1432 new List(), 1433 new List() 1434 ); 1435 } 1436 /** 1437 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/AnonymousClasses.jrag:16 1438 * @apilevel internal 1439 */ 1440 public TypeDecl Define_TypeDecl_superType(ASTNode caller, ASTNode child) { 1441 { 1442 int childIndex = this.getIndexOfChild(caller); 1443 return null; 1444 } 1445 } 1446 /** 1447 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/AnonymousClasses.jrag:26 1448 * @apilevel internal 1449 */ 1450 public ConstructorDecl Define_ConstructorDecl_constructorDecl(ASTNode caller, ASTNode child) { 1451 { 1452 int childIndex = this.getIndexOfChild(caller); 1453 return null; 1454 } 1455 } 1456 /** 1457 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/Arrays.jrag:19 1458 * @apilevel internal 1459 */ 1460 public TypeDecl Define_TypeDecl_componentType(ASTNode caller, ASTNode child) { 1461 { 1462 int childIndex = this.getIndexOfChild(caller); 1463 return unknownType(); 1464 } 1465 } 1466 /** 1467 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/BranchTarget.jrag:172 1468 * @apilevel internal 1469 */ 1470 public LabeledStmt Define_LabeledStmt_lookupLabel(ASTNode caller, ASTNode child, String name) { 1471 { 1472 int childIndex = this.getIndexOfChild(caller); 1473 return null; 1474 } 1475 } 1476 /** 1477 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:16 1478 * @apilevel internal 1479 */ 1480 public boolean Define_boolean_isDest(ASTNode caller, ASTNode child) { 1481 { 1482 int childIndex = this.getIndexOfChild(caller); 1483 return false; 1484 } 1485 } 1486 /** 1487 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:26 1488 * @apilevel internal 1489 */ 1490 public boolean Define_boolean_isSource(ASTNode caller, ASTNode child) { 1491 { 1492 int childIndex = this.getIndexOfChild(caller); 1493 return true; 1494 } 1495 } 1496 /** 1497 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:50 1498 * @apilevel internal 1499 */ 1500 public boolean Define_boolean_isIncOrDec(ASTNode caller, ASTNode child) { 1501 { 1502 int childIndex = this.getIndexOfChild(caller); 1503 return false; 1504 } 1505 } 1506 /** 1507 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:324 1508 * @apilevel internal 1509 */ 1510 public boolean Define_boolean_isDAbefore(ASTNode caller, ASTNode child, Variable v) { 1511 { 1512 int childIndex = this.getIndexOfChild(caller); 1513 return true; 1514 } 1515 } 1516 /** 1517 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:710 1518 * @apilevel internal 1519 */ 1520 public boolean Define_boolean_isDUbefore(ASTNode caller, ASTNode child, Variable v) { 1521 { 1522 int childIndex = this.getIndexOfChild(caller); 1523 return true; 1524 } 1525 } 1526 /** 1527 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:13 1528 * @apilevel internal 1529 */ 1530 public TypeDecl Define_TypeDecl_typeException(ASTNode caller, ASTNode child) { 1531 { 1532 int childIndex = this.getIndexOfChild(caller); 1533 return lookupType("java.lang", "Exception"); 1534 } 1535 } 1536 /** 1537 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:15 1538 * @apilevel internal 1539 */ 1540 public TypeDecl Define_TypeDecl_typeRuntimeException(ASTNode caller, ASTNode child) { 1541 { 1542 int childIndex = this.getIndexOfChild(caller); 1543 return lookupType("java.lang", "RuntimeException"); 1544 } 1545 } 1546 /** 1547 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:17 1548 * @apilevel internal 1549 */ 1550 public TypeDecl Define_TypeDecl_typeError(ASTNode caller, ASTNode child) { 1551 { 1552 int childIndex = this.getIndexOfChild(caller); 1553 return lookupType("java.lang", "Error"); 1554 } 1555 } 1556 /** 1557 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:19 1558 * @apilevel internal 1559 */ 1560 public TypeDecl Define_TypeDecl_typeNullPointerException(ASTNode caller, ASTNode child) { 1561 { 1562 int childIndex = this.getIndexOfChild(caller); 1563 return lookupType("java.lang", "NullPointerException"); 1564 } 1565 } 1566 /** 1567 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:21 1568 * @apilevel internal 1569 */ 1570 public TypeDecl Define_TypeDecl_typeThrowable(ASTNode caller, ASTNode child) { 1571 { 1572 int childIndex = this.getIndexOfChild(caller); 1573 return lookupType("java.lang", "Throwable"); 1574 } 1575 } 1576 /** 1577 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:137 1578 * @apilevel internal 1579 */ 1580 public boolean Define_boolean_handlesException(ASTNode caller, ASTNode child, TypeDecl exceptionType) { 1581 { 1582 int childIndex = this.getIndexOfChild(caller); 1583 { 1584 throw new Error("Operation handlesException not supported"); 1585 } 1586 } 1587 } 1588 /** 1589 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupConstructor.jrag:15 1590 * @apilevel internal 1591 */ 1592 public Collection Define_Collection_lookupConstructor(ASTNode caller, ASTNode child) { 1593 { 1594 int childIndex = this.getIndexOfChild(caller); 1595 return Collections.EMPTY_LIST; 1596 } 1597 } 1598 /** 1599 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupConstructor.jrag:24 1600 * @apilevel internal 1601 */ 1602 public Collection Define_Collection_lookupSuperConstructor(ASTNode caller, ASTNode child) { 1603 { 1604 int childIndex = this.getIndexOfChild(caller); 1605 return Collections.EMPTY_LIST; 1606 } 1607 } 1608 /** 1609 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupMethod.jrag:21 1610 * @apilevel internal 1611 */ 1612 public Expr Define_Expr_nestedScope(ASTNode caller, ASTNode child) { 1613 { 1614 int childIndex = this.getIndexOfChild(caller); 1615 { throw new UnsupportedOperationException(); } 1616 } 1617 } 1618 /** 1619 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupMethod.jrag:33 1620 * @apilevel internal 1621 */ 1622 public Collection Define_Collection_lookupMethod(ASTNode caller, ASTNode child, String name) { 1623 { 1624 int childIndex = this.getIndexOfChild(caller); 1625 return Collections.EMPTY_LIST; 1626 } 1627 } 1628 /** 1629 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:18 1630 * @apilevel internal 1631 */ 1632 public TypeDecl Define_TypeDecl_typeObject(ASTNode caller, ASTNode child) { 1633 { 1634 int childIndex = this.getIndexOfChild(caller); 1635 return typeObject(); 1636 } 1637 } 1638 /** 1639 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:19 1640 * @apilevel internal 1641 */ 1642 public TypeDecl Define_TypeDecl_typeCloneable(ASTNode caller, ASTNode child) { 1643 { 1644 int childIndex = this.getIndexOfChild(caller); 1645 return typeCloneable(); 1646 } 1647 } 1648 /** 1649 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:20 1650 * @apilevel internal 1651 */ 1652 public TypeDecl Define_TypeDecl_typeSerializable(ASTNode caller, ASTNode child) { 1653 { 1654 int childIndex = this.getIndexOfChild(caller); 1655 return typeSerializable(); 1656 } 1657 } 1658 /** 1659 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:31 1660 * @apilevel internal 1661 */ 1662 public TypeDecl Define_TypeDecl_typeBoolean(ASTNode caller, ASTNode child) { 1663 { 1664 int childIndex = this.getIndexOfChild(caller); 1665 return typeBoolean(); 1666 } 1667 } 1668 /** 1669 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:32 1670 * @apilevel internal 1671 */ 1672 public TypeDecl Define_TypeDecl_typeByte(ASTNode caller, ASTNode child) { 1673 { 1674 int childIndex = this.getIndexOfChild(caller); 1675 return typeByte(); 1676 } 1677 } 1678 /** 1679 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:33 1680 * @apilevel internal 1681 */ 1682 public TypeDecl Define_TypeDecl_typeShort(ASTNode caller, ASTNode child) { 1683 { 1684 int childIndex = this.getIndexOfChild(caller); 1685 return typeShort(); 1686 } 1687 } 1688 /** 1689 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:34 1690 * @apilevel internal 1691 */ 1692 public TypeDecl Define_TypeDecl_typeChar(ASTNode caller, ASTNode child) { 1693 { 1694 int childIndex = this.getIndexOfChild(caller); 1695 return typeChar(); 1696 } 1697 } 1698 /** 1699 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:35 1700 * @apilevel internal 1701 */ 1702 public TypeDecl Define_TypeDecl_typeInt(ASTNode caller, ASTNode child) { 1703 { 1704 int childIndex = this.getIndexOfChild(caller); 1705 return typeInt(); 1706 } 1707 } 1708 /** 1709 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:36 1710 * @apilevel internal 1711 */ 1712 public TypeDecl Define_TypeDecl_typeLong(ASTNode caller, ASTNode child) { 1713 { 1714 int childIndex = this.getIndexOfChild(caller); 1715 return typeLong(); 1716 } 1717 } 1718 /** 1719 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:37 1720 * @apilevel internal 1721 */ 1722 public TypeDecl Define_TypeDecl_typeFloat(ASTNode caller, ASTNode child) { 1723 { 1724 int childIndex = this.getIndexOfChild(caller); 1725 return typeFloat(); 1726 } 1727 } 1728 /** 1729 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:38 1730 * @apilevel internal 1731 */ 1732 public TypeDecl Define_TypeDecl_typeDouble(ASTNode caller, ASTNode child) { 1733 { 1734 int childIndex = this.getIndexOfChild(caller); 1735 return typeDouble(); 1736 } 1737 } 1738 /** 1739 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:39 1740 * @apilevel internal 1741 */ 1742 public TypeDecl Define_TypeDecl_typeString(ASTNode caller, ASTNode child) { 1743 { 1744 int childIndex = this.getIndexOfChild(caller); 1745 return typeString(); 1746 } 1747 } 1748 /** 1749 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:42 1750 * @apilevel internal 1751 */ 1752 public TypeDecl Define_TypeDecl_typeVoid(ASTNode caller, ASTNode child) { 1753 { 1754 int childIndex = this.getIndexOfChild(caller); 1755 return typeVoid(); 1756 } 1757 } 1758 /** 1759 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:44 1760 * @apilevel internal 1761 */ 1762 public TypeDecl Define_TypeDecl_typeNull(ASTNode caller, ASTNode child) { 1763 { 1764 int childIndex = this.getIndexOfChild(caller); 1765 return typeNull(); 1766 } 1767 } 1768 /** 1769 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:47 1770 * @apilevel internal 1771 */ 1772 public TypeDecl Define_TypeDecl_unknownType(ASTNode caller, ASTNode child) { 1773 { 1774 int childIndex = this.getIndexOfChild(caller); 1775 return unknownType(); 1776 } 1777 } 1778 /** 1779 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:81 1780 * @apilevel internal 1781 */ 1782 public boolean Define_boolean_hasPackage(ASTNode caller, ASTNode child, String packageName) { 1783 { 1784 int childIndex = this.getIndexOfChild(caller); 1785 return hasPackage(packageName); 1786 } 1787 } 1788 /** 1789 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:151 1790 * @apilevel internal 1791 */ 1792 public TypeDecl Define_TypeDecl_lookupType(ASTNode caller, ASTNode child, String packageName, String typeName) { 1793 { 1794 int childIndex = this.getIndexOfChild(caller); 1795 return lookupType(packageName, typeName); 1796 } 1797 } 1798 /** 1799 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:266 1800 * @apilevel internal 1801 */ 1802 public SimpleSet Define_SimpleSet_lookupType(ASTNode caller, ASTNode child, String name) { 1803 { 1804 int childIndex = this.getIndexOfChild(caller); 1805 return SimpleSet.emptySet; 1806 } 1807 } 1808 /** 1809 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupVariable.jrag:24 1810 * @apilevel internal 1811 */ 1812 public SimpleSet Define_SimpleSet_lookupVariable(ASTNode caller, ASTNode child, String name) { 1813 { 1814 int childIndex = this.getIndexOfChild(caller); 1815 return SimpleSet.emptySet; 1816 } 1817 } 1818 /** 1819 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/Modifiers.jrag:290 1820 * @apilevel internal 1821 */ 1822 public boolean Define_boolean_mayBePublic(ASTNode caller, ASTNode child) { 1823 { 1824 int childIndex = this.getIndexOfChild(caller); 1825 return false; 1826 } 1827 } 1828 /** 1829 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/Modifiers.jrag:291 1830 * @apilevel internal 1831 */ 1832 public boolean Define_boolean_mayBeProtected(ASTNode caller, ASTNode child) { 1833 { 1834 int childIndex = this.getIndexOfChild(caller); 1835 return false; 1836 } 1837 } 1838 /** 1839 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/Modifiers.jrag:292 1840 * @apilevel internal 1841 */ 1842 public boolean Define_boolean_mayBePrivate(ASTNode caller, ASTNode child) { 1843 { 1844 int childIndex = this.getIndexOfChild(caller); 1845 return false; 1846 } 1847 } 1848 /** 1849 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/Modifiers.jrag:293 1850 * @apilevel internal 1851 */ 1852 public boolean Define_boolean_mayBeStatic(ASTNode caller, ASTNode child) { 1853 { 1854 int childIndex = this.getIndexOfChild(caller); 1855 return false; 1856 } 1857 } 1858 /** 1859 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/Modifiers.jrag:294 1860 * @apilevel internal 1861 */ 1862 public boolean Define_boolean_mayBeFinal(ASTNode caller, ASTNode child) { 1863 { 1864 int childIndex = this.getIndexOfChild(caller); 1865 return false; 1866 } 1867 } 1868 /** 1869 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/Modifiers.jrag:295 1870 * @apilevel internal 1871 */ 1872 public boolean Define_boolean_mayBeAbstract(ASTNode caller, ASTNode child) { 1873 { 1874 int childIndex = this.getIndexOfChild(caller); 1875 return false; 1876 } 1877 } 1878 /** 1879 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/Modifiers.jrag:296 1880 * @apilevel internal 1881 */ 1882 public boolean Define_boolean_mayBeVolatile(ASTNode caller, ASTNode child) { 1883 { 1884 int childIndex = this.getIndexOfChild(caller); 1885 return false; 1886 } 1887 } 1888 /** 1889 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/Modifiers.jrag:297 1890 * @apilevel internal 1891 */ 1892 public boolean Define_boolean_mayBeTransient(ASTNode caller, ASTNode child) { 1893 { 1894 int childIndex = this.getIndexOfChild(caller); 1895 return false; 1896 } 1897 } 1898 /** 1899 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/Modifiers.jrag:298 1900 * @apilevel internal 1901 */ 1902 public boolean Define_boolean_mayBeStrictfp(ASTNode caller, ASTNode child) { 1903 { 1904 int childIndex = this.getIndexOfChild(caller); 1905 return false; 1906 } 1907 } 1908 /** 1909 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/Modifiers.jrag:299 1910 * @apilevel internal 1911 */ 1912 public boolean Define_boolean_mayBeSynchronized(ASTNode caller, ASTNode child) { 1913 { 1914 int childIndex = this.getIndexOfChild(caller); 1915 return false; 1916 } 1917 } 1918 /** 1919 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/Modifiers.jrag:300 1920 * @apilevel internal 1921 */ 1922 public boolean Define_boolean_mayBeNative(ASTNode caller, ASTNode child) { 1923 { 1924 int childIndex = this.getIndexOfChild(caller); 1925 return false; 1926 } 1927 } 1928 /** 1929 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/NameCheck.jrag:249 1930 * @apilevel internal 1931 */ 1932 public ASTNode Define_ASTNode_enclosingBlock(ASTNode caller, ASTNode child) { 1933 { 1934 int childIndex = this.getIndexOfChild(caller); 1935 return null; 1936 } 1937 } 1938 /** 1939 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/NameCheck.jrag:300 1940 * @apilevel internal 1941 */ 1942 public VariableScope Define_VariableScope_outerScope(ASTNode caller, ASTNode child) { 1943 { 1944 int childIndex = this.getIndexOfChild(caller); 1945 { 1946 throw new UnsupportedOperationException("outerScope() not defined"); 1947 } 1948 } 1949 } 1950 /** 1951 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/NameCheck.jrag:368 1952 * @apilevel internal 1953 */ 1954 public boolean Define_boolean_insideLoop(ASTNode caller, ASTNode child) { 1955 { 1956 int childIndex = this.getIndexOfChild(caller); 1957 return false; 1958 } 1959 } 1960 /** 1961 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/NameCheck.jrag:375 1962 * @apilevel internal 1963 */ 1964 public boolean Define_boolean_insideSwitch(ASTNode caller, ASTNode child) { 1965 { 1966 int childIndex = this.getIndexOfChild(caller); 1967 return false; 1968 } 1969 } 1970 /** 1971 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/NameCheck.jrag:425 1972 * @apilevel internal 1973 */ 1974 public Case Define_Case_bind(ASTNode caller, ASTNode child, Case c) { 1975 { 1976 int childIndex = this.getIndexOfChild(caller); 1977 return null; 1978 } 1979 } 1980 /** 1981 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/PrettyPrint.jadd:354 1982 * @apilevel internal 1983 */ 1984 public String Define_String_typeDeclIndent(ASTNode caller, ASTNode child) { 1985 { 1986 int childIndex = this.getIndexOfChild(caller); 1987 return ""; 1988 } 1989 } 1990 /** 1991 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/SyntacticClassification.jrag:64 1992 * @apilevel internal 1993 */ 1994 public NameType Define_NameType_nameType(ASTNode caller, ASTNode child) { 1995 { 1996 int childIndex = this.getIndexOfChild(caller); 1997 return NameType.NO_NAME; 1998 } 1999 } 2000 /** 2001 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:219 2002 * @apilevel internal 2003 */ 2004 public boolean Define_boolean_isAnonymous(ASTNode caller, ASTNode child) { 2005 { 2006 int childIndex = this.getIndexOfChild(caller); 2007 return false; 2008 } 2009 } 2010 /** 2011 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:233 2012 * @apilevel internal 2013 */ 2014 public Variable Define_Variable_unknownField(ASTNode caller, ASTNode child) { 2015 { 2016 int childIndex = this.getIndexOfChild(caller); 2017 return unknownType().findSingleVariable("unknown"); 2018 } 2019 } 2020 /** 2021 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:237 2022 * @apilevel internal 2023 */ 2024 public MethodDecl Define_MethodDecl_unknownMethod(ASTNode caller, ASTNode child) { 2025 { 2026 int childIndex = this.getIndexOfChild(caller); 2027 { 2028 for(Iterator iter = unknownType().memberMethods("unknown").iterator(); iter.hasNext(); ) { 2029 MethodDecl m = (MethodDecl)iter.next(); 2030 return m; 2031 } 2032 throw new Error("Could not find method unknown in type Unknown"); 2033 } 2034 } 2035 } 2036 /** 2037 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:244 2038 * @apilevel internal 2039 */ 2040 public ConstructorDecl Define_ConstructorDecl_unknownConstructor(ASTNode caller, ASTNode child) { 2041 { 2042 int childIndex = this.getIndexOfChild(caller); 2043 return unknownConstructor(); 2044 } 2045 } 2046 /** 2047 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:256 2048 * @apilevel internal 2049 */ 2050 public TypeDecl Define_TypeDecl_declType(ASTNode caller, ASTNode child) { 2051 { 2052 int i = this.getIndexOfChild(caller); 2053 return null; 2054 } 2055 } 2056 /** 2057 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:513 2058 * @apilevel internal 2059 */ 2060 public BodyDecl Define_BodyDecl_enclosingBodyDecl(ASTNode caller, ASTNode child) { 2061 { 2062 int childIndex = this.getIndexOfChild(caller); 2063 return null; 2064 } 2065 } 2066 /** 2067 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:531 2068 * @apilevel internal 2069 */ 2070 public boolean Define_boolean_isMemberType(ASTNode caller, ASTNode child) { 2071 { 2072 int childIndex = this.getIndexOfChild(caller); 2073 return false; 2074 } 2075 } 2076 /** 2077 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:582 2078 * @apilevel internal 2079 */ 2080 public TypeDecl Define_TypeDecl_hostType(ASTNode caller, ASTNode child) { 2081 { 2082 int childIndex = this.getIndexOfChild(caller); 2083 return null; 2084 } 2085 } 2086 /** 2087 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeCheck.jrag:360 2088 * @apilevel internal 2089 */ 2090 public TypeDecl Define_TypeDecl_switchType(ASTNode caller, ASTNode child) { 2091 { 2092 int childIndex = this.getIndexOfChild(caller); 2093 return unknownType(); 2094 } 2095 } 2096 /** 2097 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeCheck.jrag:406 2098 * @apilevel internal 2099 */ 2100 public TypeDecl Define_TypeDecl_returnType(ASTNode caller, ASTNode child) { 2101 { 2102 int childIndex = this.getIndexOfChild(caller); 2103 return typeVoid(); 2104 } 2105 } 2106 /** 2107 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeCheck.jrag:506 2108 * @apilevel internal 2109 */ 2110 public TypeDecl Define_TypeDecl_enclosingInstance(ASTNode caller, ASTNode child) { 2111 { 2112 int childIndex = this.getIndexOfChild(caller); 2113 return null; 2114 } 2115 } 2116 /** 2117 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeHierarchyCheck.jrag:14 2118 * @apilevel internal 2119 */ 2120 public String Define_String_methodHost(ASTNode caller, ASTNode child) { 2121 { 2122 int childIndex = this.getIndexOfChild(caller); 2123 { 2124 throw new Error("Needs extra equation for methodHost()"); 2125 } 2126 } 2127 } 2128 /** 2129 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeHierarchyCheck.jrag:128 2130 * @apilevel internal 2131 */ 2132 public boolean Define_boolean_inExplicitConstructorInvocation(ASTNode caller, ASTNode child) { 2133 { 2134 int childIndex = this.getIndexOfChild(caller); 2135 return false; 2136 } 2137 } 2138 /** 2139 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeHierarchyCheck.jrag:137 2140 * @apilevel internal 2141 */ 2142 public boolean Define_boolean_inStaticContext(ASTNode caller, ASTNode child) { 2143 { 2144 int childIndex = this.getIndexOfChild(caller); 2145 return false; 2146 } 2147 } 2148 /** 2149 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/UnreachableStatements.jrag:162 2150 * @apilevel internal 2151 */ 2152 public boolean Define_boolean_reportUnreachable(ASTNode caller, ASTNode child) { 2153 { 2154 int childIndex = this.getIndexOfChild(caller); 2155 return true; 2156 } 2157 } 2158 /** 2159 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/VariableDeclaration.jrag:68 2160 * @apilevel internal 2161 */ 2162 public boolean Define_boolean_isMethodParameter(ASTNode caller, ASTNode child) { 2163 { 2164 int childIndex = this.getIndexOfChild(caller); 2165 return false; 2166 } 2167 } 2168 /** 2169 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/VariableDeclaration.jrag:69 2170 * @apilevel internal 2171 */ 2172 public boolean Define_boolean_isConstructorParameter(ASTNode caller, ASTNode child) { 2173 { 2174 int childIndex = this.getIndexOfChild(caller); 2175 return false; 2176 } 2177 } 2178 /** 2179 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/VariableDeclaration.jrag:70 2180 * @apilevel internal 2181 */ 2182 public boolean Define_boolean_isExceptionHandlerParameter(ASTNode caller, ASTNode child) { 2183 { 2184 int childIndex = this.getIndexOfChild(caller); 2185 return false; 2186 } 2187 } 2188 /** 2189 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/CodeGeneration.jrag:47 2190 * @apilevel internal 2191 */ 2192 public int Define_int_variableScopeEndLabel(ASTNode caller, ASTNode child, CodeGeneration gen) { 2193 { 2194 int i = this.getIndexOfChild(caller); 2195 { 2196 throw new Error("variableScopeEndLabel not valid from here"); 2197 } 2198 } 2199 } 2200 /** 2201 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/CreateBCode.jrag:974 2202 * @apilevel internal 2203 */ 2204 public int Define_int_condition_false_label(ASTNode caller, ASTNode child) { 2205 { 2206 int i = this.getIndexOfChild(caller); 2207 { 2208 throw new Error("condition_false_label not implemented"); 2209 } 2210 } 2211 } 2212 /** 2213 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/CreateBCode.jrag:978 2214 * @apilevel internal 2215 */ 2216 public int Define_int_condition_true_label(ASTNode caller, ASTNode child) { 2217 { 2218 int i = this.getIndexOfChild(caller); 2219 { 2220 throw new Error("condition_true_label not implemented"); 2221 } 2222 } 2223 } 2224 /** 2225 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/InnerClasses.jrag:64 2226 * @apilevel internal 2227 */ 2228 public TypeDecl Define_TypeDecl_expectedType(ASTNode caller, ASTNode child) { 2229 { 2230 int i = this.getIndexOfChild(caller); 2231 return null; 2232 } 2233 } 2234 /** 2235 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/LocalNum.jrag:15 2236 * @apilevel internal 2237 */ 2238 public int Define_int_localNum(ASTNode caller, ASTNode child) { 2239 { 2240 int index = this.getIndexOfChild(caller); 2241 return 0; 2242 } 2243 } 2244 /** 2245 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/LocalNum.jrag:46 2246 * @apilevel internal 2247 */ 2248 public int Define_int_resultSaveLocalNum(ASTNode caller, ASTNode child) { 2249 { 2250 int childIndex = this.getIndexOfChild(caller); 2251 { 2252 throw new Error("Unsupported operation resultSaveLocalNum"); 2253 } 2254 } 2255 } 2256 /** 2257 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Annotations.jrag:94 2258 * @apilevel internal 2259 */ 2260 public boolean Define_boolean_mayUseAnnotationTarget(ASTNode caller, ASTNode child, String name) { 2261 { 2262 int childIndex = this.getIndexOfChild(caller); 2263 return false; 2264 } 2265 } 2266 /** 2267 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Annotations.jrag:180 2268 * @apilevel internal 2269 */ 2270 public ElementValue Define_ElementValue_lookupElementTypeValue(ASTNode caller, ASTNode child, String name) { 2271 { 2272 int childIndex = this.getIndexOfChild(caller); 2273 return null; 2274 } 2275 } 2276 /** 2277 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Annotations.jrag:269 2278 * @apilevel internal 2279 */ 2280 public boolean Define_boolean_withinSuppressWarnings(ASTNode caller, ASTNode child, String s) { 2281 { 2282 int childIndex = this.getIndexOfChild(caller); 2283 return false; 2284 } 2285 } 2286 /** 2287 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Annotations.jrag:371 2288 * @apilevel internal 2289 */ 2290 public boolean Define_boolean_withinDeprecatedAnnotation(ASTNode caller, ASTNode child) { 2291 { 2292 int childIndex = this.getIndexOfChild(caller); 2293 return false; 2294 } 2295 } 2296 /** 2297 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Annotations.jrag:430 2298 * @apilevel internal 2299 */ 2300 public Annotation Define_Annotation_lookupAnnotation(ASTNode caller, ASTNode child, TypeDecl typeDecl) { 2301 { 2302 int i = this.getIndexOfChild(caller); 2303 return null; 2304 } 2305 } 2306 /** 2307 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Annotations.jrag:463 2308 * @apilevel internal 2309 */ 2310 public TypeDecl Define_TypeDecl_enclosingAnnotationDecl(ASTNode caller, ASTNode child) { 2311 { 2312 int childIndex = this.getIndexOfChild(caller); 2313 return unknownType(); 2314 } 2315 } 2316 /** 2317 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/GenericMethodsInference.jrag:39 2318 * @apilevel internal 2319 */ 2320 public TypeDecl Define_TypeDecl_assignConvertedType(ASTNode caller, ASTNode child) { 2321 { 2322 int childIndex = this.getIndexOfChild(caller); 2323 return typeNull(); 2324 } 2325 } 2326 /** 2327 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:267 2328 * @apilevel internal 2329 */ 2330 public boolean Define_boolean_inExtendsOrImplements(ASTNode caller, ASTNode child) { 2331 { 2332 int childIndex = this.getIndexOfChild(caller); 2333 return false; 2334 } 2335 } 2336 /** 2337 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:1385 2338 * @apilevel internal 2339 */ 2340 public TypeDecl Define_TypeDecl_typeWildcard(ASTNode caller, ASTNode child) { 2341 { 2342 int childIndex = this.getIndexOfChild(caller); 2343 return wildcards().typeWildcard(); 2344 } 2345 } 2346 /** 2347 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:1396 2348 * @apilevel internal 2349 */ 2350 public TypeDecl Define_TypeDecl_lookupWildcardExtends(ASTNode caller, ASTNode child, TypeDecl typeDecl) { 2351 { 2352 int childIndex = this.getIndexOfChild(caller); 2353 return wildcards().lookupWildcardExtends(typeDecl); 2354 } 2355 } 2356 /** 2357 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:1409 2358 * @apilevel internal 2359 */ 2360 public TypeDecl Define_TypeDecl_lookupWildcardSuper(ASTNode caller, ASTNode child, TypeDecl typeDecl) { 2361 { 2362 int childIndex = this.getIndexOfChild(caller); 2363 return wildcards().lookupWildcardSuper(typeDecl); 2364 } 2365 } 2366 /** 2367 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:1431 2368 * @apilevel internal 2369 */ 2370 public LUBType Define_LUBType_lookupLUBType(ASTNode caller, ASTNode child, Collection bounds) { 2371 { 2372 int childIndex = this.getIndexOfChild(caller); 2373 return wildcards().lookupLUBType(bounds); 2374 } 2375 } 2376 /** 2377 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Generics.jrag:1469 2378 * @apilevel internal 2379 */ 2380 public GLBType Define_GLBType_lookupGLBType(ASTNode caller, ASTNode child, ArrayList bounds) { 2381 { 2382 int childIndex = this.getIndexOfChild(caller); 2383 return wildcards().lookupGLBType(bounds); 2384 } 2385 } 2386 /** 2387 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/GenericsParTypeDecl.jrag:46 2388 * @apilevel internal 2389 */ 2390 public TypeDecl Define_TypeDecl_genericDecl(ASTNode caller, ASTNode child) { 2391 { 2392 int childIndex = this.getIndexOfChild(caller); 2393 return null; 2394 } 2395 } 2396 /** 2397 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/VariableArityParameters.jrag:24 2398 * @apilevel internal 2399 */ 2400 public boolean Define_boolean_variableArityValid(ASTNode caller, ASTNode child) { 2401 { 2402 int childIndex = this.getIndexOfChild(caller); 2403 return false; 2404 } 2405 } 2406 /** 2407 * @declaredat /home/jesper/svn/JastAddJ/Java7Frontend/PreciseRethrow.jrag:122 2408 * @apilevel internal 2409 */ 2410 public boolean Define_boolean_isCatchParam(ASTNode caller, ASTNode child) { 2411 { 2412 int i = this.getIndexOfChild(caller); 2413 return false; 2414 } 2415 } 2416 /** 2417 * @declaredat /home/jesper/svn/JastAddJ/Java7Frontend/PreciseRethrow.jrag:130 2418 * @apilevel internal 2419 */ 2420 public CatchClause Define_CatchClause_catchClause(ASTNode caller, ASTNode child) { 2421 { 2422 int i = this.getIndexOfChild(caller); 2423 { 2424 throw new IllegalStateException("Could not find parent " + 2425 "catch clause"); 2426 } 2427 } 2428 } 2429 /** 2430 * @declaredat /home/jesper/svn/JastAddJ/Java7Frontend/TryWithResources.jrag:154 2431 * @apilevel internal 2432 */ 2433 public boolean Define_boolean_resourcePreviouslyDeclared(ASTNode caller, ASTNode child, String name) { 2434 { 2435 int i = this.getIndexOfChild(caller); 2436 return false; 2437 } 2438 } 2439 /** 2440 * @declaredat /home/jesper/svn/JastAddJ/Java7Frontend/TypeInference.jrag:70 2441 * @apilevel internal 2442 */ 2443 public ClassInstanceExpr Define_ClassInstanceExpr_getClassInstanceExpr(ASTNode caller, ASTNode child) { 2444 { 2445 int i = this.getIndexOfChild(caller); 2446 return null; 2447 } 2448 } 2449 /** 2450 * @declaredat /home/jesper/svn/JastAddJ/Java7Frontend/TypeInference.jrag:462 2451 * @apilevel internal 2452 */ 2453 public boolean Define_boolean_isAnonymousDecl(ASTNode caller, ASTNode child) { 2454 { 2455 int childIndex = this.getIndexOfChild(caller); 2456 return false; 2457 } 2458 } 2459 /** 2460 * @declaredat /home/jesper/svn/JastAddJ/Java7Frontend/TypeInference.jrag:479 2461 * @apilevel internal 2462 */ 2463 public boolean Define_boolean_isExplicitGenericConstructorAccess(ASTNode caller, ASTNode child) { 2464 { 2465 int i = this.getIndexOfChild(caller); 2466 return false; 2467 } 2468 } 2469 /** 2470 * @apilevel internal 2471 */ 2472 public ASTNode rewriteTo() { 2473 return super.rewriteTo(); 2474 } 2475 }