src/share/classes/com/sun/tools/javac/comp/Flow.java

changeset 1313
873ddd9f4900
parent 1297
e5cf1569d3a4
child 1339
0e5899f09dab
equal deleted inserted replaced
1310:542c87b8ce7f 1313:873ddd9f4900
404 boolean alivePrev = alive; 404 boolean alivePrev = alive;
405 ListBuffer<PendingExit> pendingExitsPrev = pendingExits; 405 ListBuffer<PendingExit> pendingExitsPrev = pendingExits;
406 Lint lintPrev = lint; 406 Lint lintPrev = lint;
407 407
408 pendingExits = new ListBuffer<PendingExit>(); 408 pendingExits = new ListBuffer<PendingExit>();
409 lint = lint.augment(tree.sym.attributes_field); 409 lint = lint.augment(tree.sym.annotations);
410 410
411 try { 411 try {
412 // process all the static initializers 412 // process all the static initializers
413 for (List<JCTree> l = tree.defs; l.nonEmpty(); l = l.tail) { 413 for (List<JCTree> l = tree.defs; l.nonEmpty(); l = l.tail) {
414 if (!l.head.hasTag(METHODDEF) && 414 if (!l.head.hasTag(METHODDEF) &&
440 440
441 public void visitMethodDef(JCMethodDecl tree) { 441 public void visitMethodDef(JCMethodDecl tree) {
442 if (tree.body == null) return; 442 if (tree.body == null) return;
443 Lint lintPrev = lint; 443 Lint lintPrev = lint;
444 444
445 lint = lint.augment(tree.sym.attributes_field); 445 lint = lint.augment(tree.sym.annotations);
446 446
447 Assert.check(pendingExits.isEmpty()); 447 Assert.check(pendingExits.isEmpty());
448 448
449 try { 449 try {
450 alive = true; 450 alive = true;
466 } 466 }
467 467
468 public void visitVarDef(JCVariableDecl tree) { 468 public void visitVarDef(JCVariableDecl tree) {
469 if (tree.init != null) { 469 if (tree.init != null) {
470 Lint lintPrev = lint; 470 Lint lintPrev = lint;
471 lint = lint.augment(tree.sym.attributes_field); 471 lint = lint.augment(tree.sym.annotations);
472 try{ 472 try{
473 scan(tree.init); 473 scan(tree.init);
474 } finally { 474 } finally {
475 lint = lintPrev; 475 lint = lintPrev;
476 } 476 }
781 if (tree.name != names.empty) { 781 if (tree.name != names.empty) {
782 caught = List.nil(); 782 caught = List.nil();
783 } 783 }
784 classDef = tree; 784 classDef = tree;
785 thrown = List.nil(); 785 thrown = List.nil();
786 lint = lint.augment(tree.sym.attributes_field); 786 lint = lint.augment(tree.sym.annotations);
787 787
788 try { 788 try {
789 // process all the static initializers 789 // process all the static initializers
790 for (List<JCTree> l = tree.defs; l.nonEmpty(); l = l.tail) { 790 for (List<JCTree> l = tree.defs; l.nonEmpty(); l = l.tail) {
791 if (!l.head.hasTag(METHODDEF) && 791 if (!l.head.hasTag(METHODDEF) &&
861 861
862 List<Type> caughtPrev = caught; 862 List<Type> caughtPrev = caught;
863 List<Type> mthrown = tree.sym.type.getThrownTypes(); 863 List<Type> mthrown = tree.sym.type.getThrownTypes();
864 Lint lintPrev = lint; 864 Lint lintPrev = lint;
865 865
866 lint = lint.augment(tree.sym.attributes_field); 866 lint = lint.augment(tree.sym.annotations);
867 867
868 Assert.check(pendingExits.isEmpty()); 868 Assert.check(pendingExits.isEmpty());
869 869
870 try { 870 try {
871 for (List<JCVariableDecl> l = tree.params; l.nonEmpty(); l = l.tail) { 871 for (List<JCVariableDecl> l = tree.params; l.nonEmpty(); l = l.tail) {
900 } 900 }
901 901
902 public void visitVarDef(JCVariableDecl tree) { 902 public void visitVarDef(JCVariableDecl tree) {
903 if (tree.init != null) { 903 if (tree.init != null) {
904 Lint lintPrev = lint; 904 Lint lintPrev = lint;
905 lint = lint.augment(tree.sym.attributes_field); 905 lint = lint.augment(tree.sym.annotations);
906 try{ 906 try{
907 scan(tree.init); 907 scan(tree.init);
908 } finally { 908 } finally {
909 lint = lintPrev; 909 lint = lintPrev;
910 } 910 }
1489 pendingExits = new ListBuffer<AssignPendingExit>(); 1489 pendingExits = new ListBuffer<AssignPendingExit>();
1490 if (tree.name != names.empty) { 1490 if (tree.name != names.empty) {
1491 firstadr = nextadr; 1491 firstadr = nextadr;
1492 } 1492 }
1493 classDef = tree; 1493 classDef = tree;
1494 lint = lint.augment(tree.sym.attributes_field); 1494 lint = lint.augment(tree.sym.annotations);
1495 1495
1496 try { 1496 try {
1497 // define all the static fields 1497 // define all the static fields
1498 for (List<JCTree> l = tree.defs; l.nonEmpty(); l = l.tail) { 1498 for (List<JCTree> l = tree.defs; l.nonEmpty(); l = l.tail) {
1499 if (l.head.hasTag(VARDEF)) { 1499 if (l.head.hasTag(VARDEF)) {
1556 Bits uninitsPrev = uninits.dup(); 1556 Bits uninitsPrev = uninits.dup();
1557 int nextadrPrev = nextadr; 1557 int nextadrPrev = nextadr;
1558 int firstadrPrev = firstadr; 1558 int firstadrPrev = firstadr;
1559 Lint lintPrev = lint; 1559 Lint lintPrev = lint;
1560 1560
1561 lint = lint.augment(tree.sym.attributes_field); 1561 lint = lint.augment(tree.sym.annotations);
1562 1562
1563 Assert.check(pendingExits.isEmpty()); 1563 Assert.check(pendingExits.isEmpty());
1564 1564
1565 try { 1565 try {
1566 boolean isInitialConstructor = 1566 boolean isInitialConstructor =
1607 public void visitVarDef(JCVariableDecl tree) { 1607 public void visitVarDef(JCVariableDecl tree) {
1608 boolean track = trackable(tree.sym); 1608 boolean track = trackable(tree.sym);
1609 if (track && tree.sym.owner.kind == MTH) newVar(tree.sym); 1609 if (track && tree.sym.owner.kind == MTH) newVar(tree.sym);
1610 if (tree.init != null) { 1610 if (tree.init != null) {
1611 Lint lintPrev = lint; 1611 Lint lintPrev = lint;
1612 lint = lint.augment(tree.sym.attributes_field); 1612 lint = lint.augment(tree.sym.annotations);
1613 try{ 1613 try{
1614 scanExpr(tree.init); 1614 scanExpr(tree.init);
1615 if (track) letInit(tree.pos(), tree.sym); 1615 if (track) letInit(tree.pos(), tree.sym);
1616 } finally { 1616 } finally {
1617 lint = lintPrev; 1617 lint = lintPrev;

mercurial