516 } |
516 } |
517 } |
517 } |
518 // Insert any instance initializers into all constructors. |
518 // Insert any instance initializers into all constructors. |
519 if (initCode.length() != 0) { |
519 if (initCode.length() != 0) { |
520 List<JCStatement> inits = initCode.toList(); |
520 List<JCStatement> inits = initCode.toList(); |
521 initTAs.addAll(c.annotations.getInitTypeAttributes()); |
521 initTAs.addAll(c.getInitTypeAttributes()); |
522 List<Attribute.TypeCompound> initTAlist = initTAs.toList(); |
522 List<Attribute.TypeCompound> initTAlist = initTAs.toList(); |
523 for (JCTree t : methodDefs) { |
523 for (JCTree t : methodDefs) { |
524 normalizeMethod((JCMethodDecl)t, inits, initTAlist); |
524 normalizeMethod((JCMethodDecl)t, inits, initTAlist); |
525 } |
525 } |
526 } |
526 } |
539 JCBlock block = make.at(clinitStats.head.pos()).Block(0, clinitStats); |
539 JCBlock block = make.at(clinitStats.head.pos()).Block(0, clinitStats); |
540 block.endpos = TreeInfo.endPos(clinitStats.last()); |
540 block.endpos = TreeInfo.endPos(clinitStats.last()); |
541 methodDefs.append(make.MethodDef(clinit, block)); |
541 methodDefs.append(make.MethodDef(clinit, block)); |
542 |
542 |
543 if (!clinitTAs.isEmpty()) |
543 if (!clinitTAs.isEmpty()) |
544 clinit.annotations.appendUniqueTypes(clinitTAs.toList()); |
544 clinit.appendUniqueTypeAttributes(clinitTAs.toList()); |
545 if (!c.annotations.getClassInitTypeAttributes().isEmpty()) |
545 if (!c.getClassInitTypeAttributes().isEmpty()) |
546 clinit.annotations.appendUniqueTypes(c.annotations.getClassInitTypeAttributes()); |
546 clinit.appendUniqueTypeAttributes(c.getClassInitTypeAttributes()); |
547 } |
547 } |
548 // Return all method definitions. |
548 // Return all method definitions. |
549 return methodDefs.toList(); |
549 return methodDefs.toList(); |
550 } |
550 } |
551 |
551 |
616 } |
616 } |
617 md.body.stats = newstats.toList(); |
617 md.body.stats = newstats.toList(); |
618 if (md.body.endpos == Position.NOPOS) |
618 if (md.body.endpos == Position.NOPOS) |
619 md.body.endpos = TreeInfo.endPos(md.body.stats.last()); |
619 md.body.endpos = TreeInfo.endPos(md.body.stats.last()); |
620 |
620 |
621 md.sym.annotations.appendUniqueTypes(initTAs); |
621 md.sym.appendUniqueTypeAttributes(initTAs); |
622 } |
622 } |
623 } |
623 } |
624 |
624 |
625 /* ******************************************************************** |
625 /* ******************************************************************** |
626 * Adding miranda methods |
626 * Adding miranda methods |