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 ConstructorAccess : {@link Access} ::= <span class="component"><ID:String></span> <span class="component">Arg:{@link Expr}*</span>; 015 * @ast node 016 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/java.ast:21 017 */ 018 public class ConstructorAccess extends Access 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 ConstructorAccess clone() throws CloneNotSupportedException { 034 ConstructorAccess node = (ConstructorAccess)super.clone(); 035 node.decls_computed = false; 036 node.decls_value = null; 037 node.decl_computed = false; 038 node.decl_value = null; 039 node.type_computed = false; 040 node.type_value = null; 041 node.in$Circle(false); 042 node.is$Final(false); 043 return node; 044 } 045 /** 046 * @apilevel internal 047 */ 048 @SuppressWarnings({"unchecked", "cast"}) 049 public ConstructorAccess copy() { 050 051 try { 052 ConstructorAccess node = (ConstructorAccess) clone(); 053 node.parent = null; 054 if(children != null) 055 node.children = (ASTNode[]) children.clone(); 056 057 return node; 058 } catch (CloneNotSupportedException e) { 059 throw new Error("Error: clone not supported for " + getClass().getName()); 060 } 061 062 }/** 063 * Create a deep copy of the AST subtree at this node. 064 * The copy is dangling, i.e. has no parent. 065 * @return dangling copy of the subtree at this node 066 * @apilevel low-level 067 */ 068 @SuppressWarnings({"unchecked", "cast"}) 069 public ConstructorAccess fullCopy() { 070 071 ConstructorAccess tree = (ConstructorAccess) copy(); 072 if (children != null) { 073 for (int i = 0; i < children.length; ++i) { 074 075 ASTNode child = (ASTNode) children[i]; 076 if(child != null) { 077 child = child.fullCopy(); 078 tree.setChild(child, i); 079 } 080 } 081 } 082 return tree; 083 084 } /** 085 * @ast method 086 * @aspect ExceptionHandling 087 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:111 088 */ 089 public void exceptionHandling() { 090 for(int i = 0; i < decl().getNumException(); i++) { 091 TypeDecl exceptionType = decl().getException(i).type(); 092 if(!handlesException(exceptionType)) 093 error("" + this + " may throw uncaught exception " + exceptionType.fullName()); 094 } 095 } 096 /** 097 * @ast method 098 * @aspect ExceptionHandling 099 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:272 100 */ 101 protected boolean reachedException(TypeDecl catchType) { 102 for(int i = 0; i < decl().getNumException(); i++) { 103 TypeDecl exceptionType = decl().getException(i).type(); 104 if(catchType.mayCatch(exceptionType)) 105 return true; 106 } 107 return super.reachedException(catchType); 108 } 109 /** 110 * @ast method 111 * @aspect NameCheck 112 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/NameCheck.jrag:117 113 */ 114 public void nameCheck() { 115 super.nameCheck(); 116 if(decls().isEmpty()) 117 error("no constructor named " + this); 118 if(decls().size() > 1 && validArgs()) { 119 error("several most specific constructors for " + this); 120 for(Iterator iter = decls().iterator(); iter.hasNext(); ) { 121 error(" " + ((ConstructorDecl)iter.next()).signature()); 122 } 123 } 124 } 125 /** 126 * @ast method 127 * @aspect PrettyPrint 128 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/PrettyPrint.jadd:470 129 */ 130 public void toString(StringBuffer s) { 131 s.append(name()); 132 s.append("("); 133 if(getNumArg() > 0) { 134 getArg(0).toString(s); 135 for(int i = 1; i < getNumArg(); i++) { 136 s.append(", "); 137 getArg(i).toString(s); 138 } 139 } 140 s.append(")"); 141 } 142 /** 143 * @ast method 144 * @aspect CreateBCode 145 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/CreateBCode.jrag:602 146 */ 147 public void createBCode(CodeGeneration gen) { 148 ConstructorDecl c = decl(); 149 int index = 0; 150 // this 151 gen.emitLoadReference(index++); 152 // this$0 153 if(c.needsEnclosing()) 154 gen.emitLoadReference(index++); 155 if(c.needsSuperEnclosing()) 156 gen.emitLoadReference(index++); 157 158 // args 159 for (int i = 0; i < getNumArg(); ++i) { 160 getArg(i).createBCode(gen); 161 getArg(i).type().emitCastTo(gen, decl().getParameter(i).type()); // MethodInvocationConversion 162 } 163 if(decl().isPrivate() && decl().hostType() != hostType()) { 164 gen.emit(Bytecode.ACONST_NULL); 165 decl().createAccessor().emitInvokeConstructor(gen); 166 } 167 else { 168 decl().emitInvokeConstructor(gen); 169 } 170 } 171 /** 172 * @ast method 173 * @aspect InnerClasses 174 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/InnerClasses.jrag:469 175 */ 176 177 178 // add val$name as arguments to the constructor 179 protected boolean addEnclosingVariables = true; 180 /** 181 * @ast method 182 * @aspect InnerClasses 183 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/InnerClasses.jrag:470 184 */ 185 public void addEnclosingVariables() { 186 if(!addEnclosingVariables) return; 187 addEnclosingVariables = false; 188 decl().addEnclosingVariables(); 189 for(Iterator iter = decl().hostType().enclosingVariables().iterator(); iter.hasNext(); ) { 190 Variable v = (Variable)iter.next(); 191 getArgList().add(new VarAccess("val$" + v.name())); 192 } 193 } 194 /** 195 * @ast method 196 * @aspect Transformations 197 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/Transformations.jrag:138 198 */ 199 public void refined_Transformations_ConstructorAccess_transformation() { 200 // this$val 201 addEnclosingVariables(); 202 // touch accessorIndex go force creation of private constructorAccessor 203 if(decl().isPrivate() && decl().hostType() != hostType()) { 204 decl().createAccessor(); 205 } 206 super.transformation(); 207 } 208 /** 209 * @ast method 210 * @aspect Annotations 211 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Annotations.jrag:355 212 */ 213 public void checkModifiers() { 214 if(decl().isDeprecated() && 215 !withinDeprecatedAnnotation() && 216 hostType().topLevelType() != decl().hostType().topLevelType() && 217 !withinSuppressWarnings("deprecation")) 218 warning(decl().signature() + " in " + decl().hostType().typeName() + " has been deprecated"); 219 } 220 /** 221 * @ast method 222 * @aspect Enums 223 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/Enums.jrag:171 224 */ 225 protected void transformEnumConstructors() { 226 super.transformEnumConstructors(); 227 getArgList().insertChild(new VarAccess("@p0"),0); 228 getArgList().insertChild(new VarAccess("@p1"),1); 229 } 230 /** 231 * @ast method 232 * 233 */ 234 public ConstructorAccess() { 235 super(); 236 237 238 } 239 /** 240 * Initializes the child array to the correct size. 241 * Initializes List and Opt nta children. 242 * @apilevel internal 243 * @ast method 244 * @ast method 245 * 246 */ 247 public void init$Children() { 248 children = new ASTNode[1]; 249 setChild(new List(), 0); 250 } 251 /** 252 * @ast method 253 * 254 */ 255 public ConstructorAccess(String p0, List<Expr> p1) { 256 setID(p0); 257 setChild(p1, 0); 258 } 259 /** 260 * @ast method 261 * 262 */ 263 public ConstructorAccess(beaver.Symbol p0, List<Expr> p1) { 264 setID(p0); 265 setChild(p1, 0); 266 } 267 /** 268 * @apilevel low-level 269 * @ast method 270 * 271 */ 272 protected int numChildren() { 273 return 1; 274 } 275 /** 276 * @apilevel internal 277 * @ast method 278 * 279 */ 280 public boolean mayHaveRewrite() { 281 return false; 282 } 283 /** 284 * Replaces the lexeme ID. 285 * @param value The new value for the lexeme ID. 286 * @apilevel high-level 287 * @ast method 288 * 289 */ 290 public void setID(String value) { 291 tokenString_ID = value; 292 } 293 /** 294 * @apilevel internal 295 * @ast method 296 * 297 */ 298 299 /** 300 * @apilevel internal 301 */ 302 protected String tokenString_ID; 303 /** 304 * @ast method 305 * 306 */ 307 308 public int IDstart; 309 /** 310 * @ast method 311 * 312 */ 313 314 public int IDend; 315 /** 316 * JastAdd-internal setter for lexeme ID using the Beaver parser. 317 * @apilevel internal 318 * @ast method 319 * 320 */ 321 public void setID(beaver.Symbol symbol) { 322 if(symbol.value != null && !(symbol.value instanceof String)) 323 throw new UnsupportedOperationException("setID is only valid for String lexemes"); 324 tokenString_ID = (String)symbol.value; 325 IDstart = symbol.getStart(); 326 IDend = symbol.getEnd(); 327 } 328 /** 329 * Retrieves the value for the lexeme ID. 330 * @return The value for the lexeme ID. 331 * @apilevel high-level 332 * @ast method 333 * 334 */ 335 public String getID() { 336 return tokenString_ID != null ? tokenString_ID : ""; 337 } 338 /** 339 * Replaces the Arg list. 340 * @param list The new list node to be used as the Arg list. 341 * @apilevel high-level 342 * @ast method 343 * 344 */ 345 public void setArgList(List<Expr> list) { 346 setChild(list, 0); 347 } 348 /** 349 * Retrieves the number of children in the Arg list. 350 * @return Number of children in the Arg list. 351 * @apilevel high-level 352 * @ast method 353 * 354 */ 355 public int getNumArg() { 356 return getArgList().getNumChild(); 357 } 358 /** 359 * Retrieves the number of children in the Arg list. 360 * Calling this method will not trigger rewrites.. 361 * @return Number of children in the Arg list. 362 * @apilevel low-level 363 * @ast method 364 * 365 */ 366 public int getNumArgNoTransform() { 367 return getArgListNoTransform().getNumChildNoTransform(); 368 } 369 /** 370 * Retrieves the element at index {@code i} in the Arg list.. 371 * @param i Index of the element to return. 372 * @return The element at position {@code i} in the Arg list. 373 * @apilevel high-level 374 * @ast method 375 * 376 */ 377 @SuppressWarnings({"unchecked", "cast"}) 378 public Expr getArg(int i) { 379 return (Expr)getArgList().getChild(i); 380 } 381 /** 382 * Append an element to the Arg list. 383 * @param node The element to append to the Arg list. 384 * @apilevel high-level 385 * @ast method 386 * 387 */ 388 public void addArg(Expr node) { 389 List<Expr> list = (parent == null || state == null) ? getArgListNoTransform() : getArgList(); 390 list.addChild(node); 391 } 392 /** 393 * @apilevel low-level 394 * @ast method 395 * 396 */ 397 public void addArgNoTransform(Expr node) { 398 List<Expr> list = getArgListNoTransform(); 399 list.addChild(node); 400 } 401 /** 402 * Replaces the Arg list element at index {@code i} with the new node {@code node}. 403 * @param node The new node to replace the old list element. 404 * @param i The list index of the node to be replaced. 405 * @apilevel high-level 406 * @ast method 407 * 408 */ 409 public void setArg(Expr node, int i) { 410 List<Expr> list = getArgList(); 411 list.setChild(node, i); 412 } 413 /** 414 * Retrieves the Arg list. 415 * @return The node representing the Arg list. 416 * @apilevel high-level 417 * @ast method 418 * 419 */ 420 public List<Expr> getArgs() { 421 return getArgList(); 422 } 423 /** 424 * Retrieves the Arg list. 425 * <p><em>This method does not invoke AST transformations.</em></p> 426 * @return The node representing the Arg list. 427 * @apilevel low-level 428 * @ast method 429 * 430 */ 431 public List<Expr> getArgsNoTransform() { 432 return getArgListNoTransform(); 433 } 434 /** 435 * Retrieves the Arg list. 436 * @return The node representing the Arg list. 437 * @apilevel high-level 438 * @ast method 439 * 440 */ 441 @SuppressWarnings({"unchecked", "cast"}) 442 public List<Expr> getArgList() { 443 List<Expr> list = (List<Expr>)getChild(0); 444 list.getNumChild(); 445 return list; 446 } 447 /** 448 * Retrieves the Arg list. 449 * <p><em>This method does not invoke AST transformations.</em></p> 450 * @return The node representing the Arg list. 451 * @apilevel low-level 452 * @ast method 453 * 454 */ 455 @SuppressWarnings({"unchecked", "cast"}) 456 public List<Expr> getArgListNoTransform() { 457 return (List<Expr>)getChildNoTransform(0); 458 } 459 /** 460 * @ast method 461 * @aspect VariableArityParametersCodegen 462 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Backend/VariableArityParametersCodegen.jrag:58 463 */ 464 public void transformation() { 465 if(decl().isVariableArity() && !invokesVariableArityAsArray()) { 466 // arguments to normal parameters 467 List list = new List(); 468 for(int i = 0; i < decl().getNumParameter() - 1; i++) 469 list.add(getArg(i).fullCopy()); 470 // arguments to variable arity parameters 471 List last = new List(); 472 for(int i = decl().getNumParameter() - 1; i < getNumArg(); i++) 473 last.add(getArg(i).fullCopy()); 474 // build an array holding arguments 475 Access typeAccess = decl().lastParameter().type().elementType().createQualifiedAccess(); 476 for(int i = 0; i < decl().lastParameter().type().dimension(); i++) 477 typeAccess = new ArrayTypeAccess(typeAccess); 478 list.add(new ArrayCreationExpr(typeAccess, new Opt(new ArrayInit(last)))); 479 // replace argument list with augemented argument list 480 setArgList(list); 481 } 482 refined_Transformations_ConstructorAccess_transformation(); 483 } 484 /** 485 * @attribute syn 486 * @aspect DA 487 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:235 488 */ 489 public boolean isDAafter(Variable v) { 490 ASTNode$State state = state(); 491 try { return decl().isDAafter(v); } 492 finally { 493 } 494 } 495 /** 496 * @attribute syn 497 * @aspect DU 498 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:694 499 */ 500 public boolean isDUafter(Variable v) { 501 ASTNode$State state = state(); 502 try { return decl().isDUafter(v); } 503 finally { 504 } 505 } 506 /** 507 * @attribute syn 508 * @aspect ConstructScope 509 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupConstructor.jrag:50 510 */ 511 public boolean applicableAndAccessible(ConstructorDecl decl) { 512 ASTNode$State state = state(); 513 try { return decl.applicable(getArgList()) && decl.accessibleFrom(hostType()); } 514 finally { 515 } 516 } 517 /** 518 * @apilevel internal 519 */ 520 protected boolean decls_computed = false; 521 /** 522 * @apilevel internal 523 */ 524 protected SimpleSet decls_value; 525 /** 526 * @attribute syn 527 * @aspect MethodSignature15 528 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/MethodSignature.jrag:74 529 */ 530 @SuppressWarnings({"unchecked", "cast"}) 531 public SimpleSet decls() { 532 if(decls_computed) { 533 return decls_value; 534 } 535 ASTNode$State state = state(); 536 int num = state.boundariesCrossed; 537 boolean isFinal = this.is$Final(); 538 decls_value = decls_compute(); 539 if(isFinal && num == state().boundariesCrossed){ decls_computed = true; } 540 return decls_value; 541 } 542 /** 543 * @apilevel internal 544 */ 545 private SimpleSet decls_compute() { 546 return chooseConstructor(lookupConstructor(), getArgList()); 547 } 548 /** 549 * @apilevel internal 550 */ 551 protected boolean decl_computed = false; 552 /** 553 * @apilevel internal 554 */ 555 protected ConstructorDecl decl_value; 556 /** 557 * @attribute syn 558 * @aspect ConstructScope 559 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupConstructor.jrag:65 560 */ 561 @SuppressWarnings({"unchecked", "cast"}) 562 public ConstructorDecl decl() { 563 if(decl_computed) { 564 return decl_value; 565 } 566 ASTNode$State state = state(); 567 int num = state.boundariesCrossed; 568 boolean isFinal = this.is$Final(); 569 decl_value = decl_compute(); 570 if(isFinal && num == state().boundariesCrossed){ decl_computed = true; } 571 return decl_value; 572 } 573 /** 574 * @apilevel internal 575 */ 576 private ConstructorDecl decl_compute() { 577 SimpleSet decls = decls(); 578 if(decls.size() == 1) 579 return (ConstructorDecl)decls.iterator().next(); 580 return unknownConstructor(); 581 } 582 /** 583 * @attribute syn 584 * @aspect NameCheck 585 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/NameCheck.jrag:129 586 */ 587 public boolean validArgs() { 588 ASTNode$State state = state(); 589 try { 590 for(int i = 0; i < getNumArg(); i++) 591 if(getArg(i).type().isUnknown()) 592 return false; 593 return true; 594 } 595 finally { 596 } 597 } 598 /** 599 * @attribute syn 600 * @aspect Names 601 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/QualifiedNames.jrag:19 602 */ 603 public String name() { 604 ASTNode$State state = state(); 605 try { return "this"; } 606 finally { 607 } 608 } 609 /** 610 * @attribute syn 611 * @aspect SyntacticClassification 612 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/SyntacticClassification.jrag:56 613 */ 614 public NameType predNameType() { 615 ASTNode$State state = state(); 616 try { return NameType.AMBIGUOUS_NAME; } 617 finally { 618 } 619 } 620 /** 621 * @apilevel internal 622 */ 623 protected boolean type_computed = false; 624 /** 625 * @apilevel internal 626 */ 627 protected TypeDecl type_value; 628 /** 629 * @attribute syn 630 * @aspect TypeAnalysis 631 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:285 632 */ 633 @SuppressWarnings({"unchecked", "cast"}) 634 public TypeDecl type() { 635 if(type_computed) { 636 return type_value; 637 } 638 ASTNode$State state = state(); 639 int num = state.boundariesCrossed; 640 boolean isFinal = this.is$Final(); 641 type_value = type_compute(); 642 if(isFinal && num == state().boundariesCrossed){ type_computed = true; } 643 return type_value; 644 } 645 /** 646 * @apilevel internal 647 */ 648 private TypeDecl type_compute() { return decl().type(); } 649 /** 650 * @attribute syn 651 * @aspect CreateBCode 652 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Backend/CreateBCode.jrag:219 653 */ 654 public boolean needsPop() { 655 ASTNode$State state = state(); 656 try { return false; } 657 finally { 658 } 659 } 660 /** 661 * @attribute syn 662 * @aspect MethodSignature15 663 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/MethodSignature.jrag:326 664 */ 665 public int arity() { 666 ASTNode$State state = state(); 667 try { return getNumArg(); } 668 finally { 669 } 670 } 671 /** 672 * @attribute syn 673 * @aspect VariableArityParameters 674 * @declaredat /home/jesper/svn/JastAddJ/Java1.5Frontend/VariableArityParameters.jrag:47 675 */ 676 public boolean invokesVariableArityAsArray() { 677 ASTNode$State state = state(); 678 try { 679 if(!decl().isVariableArity()) 680 return false; 681 if(arity() != decl().arity()) 682 return false; 683 return getArg(getNumArg()-1).type().methodInvocationConversionTo(decl().lastParameter().type()); 684 } 685 finally { 686 } 687 } 688 /** 689 * @attribute inh 690 * @aspect ExceptionHandling 691 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:44 692 */ 693 @SuppressWarnings({"unchecked", "cast"}) 694 public boolean handlesException(TypeDecl exceptionType) { 695 ASTNode$State state = state(); 696 boolean handlesException_TypeDecl_value = getParent().Define_boolean_handlesException(this, null, exceptionType); 697 return handlesException_TypeDecl_value; 698 } 699 /** 700 * @attribute inh 701 * @aspect ConstructScope 702 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupConstructor.jrag:14 703 */ 704 @SuppressWarnings({"unchecked", "cast"}) 705 public Collection lookupConstructor() { 706 ASTNode$State state = state(); 707 Collection lookupConstructor_value = getParent().Define_Collection_lookupConstructor(this, null); 708 return lookupConstructor_value; 709 } 710 /** 711 * @attribute inh 712 * @aspect ConstructScope 713 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupConstructor.jrag:71 714 */ 715 @SuppressWarnings({"unchecked", "cast"}) 716 public ConstructorDecl unknownConstructor() { 717 ASTNode$State state = state(); 718 ConstructorDecl unknownConstructor_value = getParent().Define_ConstructorDecl_unknownConstructor(this, null); 719 return unknownConstructor_value; 720 } 721 /** 722 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupMethod.jrag:29 723 * @apilevel internal 724 */ 725 public Collection Define_Collection_lookupMethod(ASTNode caller, ASTNode child, String name) { 726 if(caller == getArgListNoTransform()) { 727 int childIndex = caller.getIndexOfChild(child); 728 return unqualifiedScope().lookupMethod(name); 729 } 730 else { return getParent().Define_Collection_lookupMethod(this, caller, name); 731 } 732 } 733 /** 734 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:88 735 * @apilevel internal 736 */ 737 public boolean Define_boolean_hasPackage(ASTNode caller, ASTNode child, String packageName) { 738 if(caller == getArgListNoTransform()) { 739 int childIndex = caller.getIndexOfChild(child); 740 return unqualifiedScope().hasPackage(packageName); 741 } 742 else { return getParent().Define_boolean_hasPackage(this, caller, packageName); 743 } 744 } 745 /** 746 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:254 747 * @apilevel internal 748 */ 749 public SimpleSet Define_SimpleSet_lookupType(ASTNode caller, ASTNode child, String name) { 750 if(caller == getArgListNoTransform()) { 751 int childIndex = caller.getIndexOfChild(child); 752 return unqualifiedScope().lookupType(name); 753 } 754 else { return getParent().Define_SimpleSet_lookupType(this, caller, name); 755 } 756 } 757 /** 758 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupVariable.jrag:133 759 * @apilevel internal 760 */ 761 public SimpleSet Define_SimpleSet_lookupVariable(ASTNode caller, ASTNode child, String name) { 762 if(caller == getArgListNoTransform()) { 763 int childIndex = caller.getIndexOfChild(child); 764 return unqualifiedScope().lookupVariable(name); 765 } 766 else { return getParent().Define_SimpleSet_lookupVariable(this, caller, name); 767 } 768 } 769 /** 770 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/SyntacticClassification.jrag:121 771 * @apilevel internal 772 */ 773 public NameType Define_NameType_nameType(ASTNode caller, ASTNode child) { 774 if(caller == getArgListNoTransform()) { 775 int childIndex = caller.getIndexOfChild(child); 776 return NameType.EXPRESSION_NAME; 777 } 778 else { return getParent().Define_NameType_nameType(this, caller); 779 } 780 } 781 /** 782 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeHierarchyCheck.jrag:18 783 * @apilevel internal 784 */ 785 public String Define_String_methodHost(ASTNode caller, ASTNode child) { 786 { 787 int childIndex = this.getIndexOfChild(caller); 788 return unqualifiedScope().methodHost(); 789 } 790 } 791 /** 792 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeHierarchyCheck.jrag:130 793 * @apilevel internal 794 */ 795 public boolean Define_boolean_inExplicitConstructorInvocation(ASTNode caller, ASTNode child) { 796 if(caller == getArgListNoTransform()) { 797 int childIndex = caller.getIndexOfChild(child); 798 return true; 799 } 800 else { return getParent().Define_boolean_inExplicitConstructorInvocation(this, caller); 801 } 802 } 803 /** 804 * @apilevel internal 805 */ 806 public ASTNode rewriteTo() { 807 return super.rewriteTo(); 808 } 809 }