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

changeset 1802
8fb68f73d4b1
parent 1790
9f11c7676cd5
child 1879
3b4f92a3797f
equal deleted inserted replaced
1801:775a51e3276f 1802:8fb68f73d4b1
432 boolean alivePrev = alive; 432 boolean alivePrev = alive;
433 ListBuffer<PendingExit> pendingExitsPrev = pendingExits; 433 ListBuffer<PendingExit> pendingExitsPrev = pendingExits;
434 Lint lintPrev = lint; 434 Lint lintPrev = lint;
435 435
436 pendingExits = new ListBuffer<PendingExit>(); 436 pendingExits = new ListBuffer<PendingExit>();
437 lint = lint.augment(tree.sym.annotations); 437 lint = lint.augment(tree.sym);
438 438
439 try { 439 try {
440 // process all the static initializers 440 // process all the static initializers
441 for (List<JCTree> l = tree.defs; l.nonEmpty(); l = l.tail) { 441 for (List<JCTree> l = tree.defs; l.nonEmpty(); l = l.tail) {
442 if (!l.head.hasTag(METHODDEF) && 442 if (!l.head.hasTag(METHODDEF) &&
468 468
469 public void visitMethodDef(JCMethodDecl tree) { 469 public void visitMethodDef(JCMethodDecl tree) {
470 if (tree.body == null) return; 470 if (tree.body == null) return;
471 Lint lintPrev = lint; 471 Lint lintPrev = lint;
472 472
473 lint = lint.augment(tree.sym.annotations); 473 lint = lint.augment(tree.sym);
474 474
475 Assert.check(pendingExits.isEmpty()); 475 Assert.check(pendingExits.isEmpty());
476 476
477 try { 477 try {
478 alive = true; 478 alive = true;
494 } 494 }
495 495
496 public void visitVarDef(JCVariableDecl tree) { 496 public void visitVarDef(JCVariableDecl tree) {
497 if (tree.init != null) { 497 if (tree.init != null) {
498 Lint lintPrev = lint; 498 Lint lintPrev = lint;
499 lint = lint.augment(tree.sym.annotations); 499 lint = lint.augment(tree.sym);
500 try{ 500 try{
501 scan(tree.init); 501 scan(tree.init);
502 } finally { 502 } finally {
503 lint = lintPrev; 503 lint = lintPrev;
504 } 504 }
834 if (tree.name != names.empty) { 834 if (tree.name != names.empty) {
835 caught = List.nil(); 835 caught = List.nil();
836 } 836 }
837 classDef = tree; 837 classDef = tree;
838 thrown = List.nil(); 838 thrown = List.nil();
839 lint = lint.augment(tree.sym.annotations); 839 lint = lint.augment(tree.sym);
840 840
841 try { 841 try {
842 // process all the static initializers 842 // process all the static initializers
843 for (List<JCTree> l = tree.defs; l.nonEmpty(); l = l.tail) { 843 for (List<JCTree> l = tree.defs; l.nonEmpty(); l = l.tail) {
844 if (!l.head.hasTag(METHODDEF) && 844 if (!l.head.hasTag(METHODDEF) &&
914 914
915 List<Type> caughtPrev = caught; 915 List<Type> caughtPrev = caught;
916 List<Type> mthrown = tree.sym.type.getThrownTypes(); 916 List<Type> mthrown = tree.sym.type.getThrownTypes();
917 Lint lintPrev = lint; 917 Lint lintPrev = lint;
918 918
919 lint = lint.augment(tree.sym.annotations); 919 lint = lint.augment(tree.sym);
920 920
921 Assert.check(pendingExits.isEmpty()); 921 Assert.check(pendingExits.isEmpty());
922 922
923 try { 923 try {
924 for (List<JCVariableDecl> l = tree.params; l.nonEmpty(); l = l.tail) { 924 for (List<JCVariableDecl> l = tree.params; l.nonEmpty(); l = l.tail) {
953 } 953 }
954 954
955 public void visitVarDef(JCVariableDecl tree) { 955 public void visitVarDef(JCVariableDecl tree) {
956 if (tree.init != null) { 956 if (tree.init != null) {
957 Lint lintPrev = lint; 957 Lint lintPrev = lint;
958 lint = lint.augment(tree.sym.annotations); 958 lint = lint.augment(tree.sym);
959 try{ 959 try{
960 scan(tree.init); 960 scan(tree.init);
961 } finally { 961 } finally {
962 lint = lintPrev; 962 lint = lintPrev;
963 } 963 }
1578 pendingExits = new ListBuffer<AssignPendingExit>(); 1578 pendingExits = new ListBuffer<AssignPendingExit>();
1579 if (tree.name != names.empty) { 1579 if (tree.name != names.empty) {
1580 firstadr = nextadr; 1580 firstadr = nextadr;
1581 } 1581 }
1582 classDef = tree; 1582 classDef = tree;
1583 lint = lint.augment(tree.sym.annotations); 1583 lint = lint.augment(tree.sym);
1584 1584
1585 try { 1585 try {
1586 // define all the static fields 1586 // define all the static fields
1587 for (List<JCTree> l = tree.defs; l.nonEmpty(); l = l.tail) { 1587 for (List<JCTree> l = tree.defs; l.nonEmpty(); l = l.tail) {
1588 if (l.head.hasTag(VARDEF)) { 1588 if (l.head.hasTag(VARDEF)) {
1646 int nextadrPrev = nextadr; 1646 int nextadrPrev = nextadr;
1647 int firstadrPrev = firstadr; 1647 int firstadrPrev = firstadr;
1648 int returnadrPrev = returnadr; 1648 int returnadrPrev = returnadr;
1649 Lint lintPrev = lint; 1649 Lint lintPrev = lint;
1650 1650
1651 lint = lint.augment(tree.sym.annotations); 1651 lint = lint.augment(tree.sym);
1652 1652
1653 Assert.check(pendingExits.isEmpty()); 1653 Assert.check(pendingExits.isEmpty());
1654 1654
1655 try { 1655 try {
1656 boolean isInitialConstructor = 1656 boolean isInitialConstructor =
1698 public void visitVarDef(JCVariableDecl tree) { 1698 public void visitVarDef(JCVariableDecl tree) {
1699 boolean track = trackable(tree.sym); 1699 boolean track = trackable(tree.sym);
1700 if (track && tree.sym.owner.kind == MTH) newVar(tree.sym); 1700 if (track && tree.sym.owner.kind == MTH) newVar(tree.sym);
1701 if (tree.init != null) { 1701 if (tree.init != null) {
1702 Lint lintPrev = lint; 1702 Lint lintPrev = lint;
1703 lint = lint.augment(tree.sym.annotations); 1703 lint = lint.augment(tree.sym);
1704 try{ 1704 try{
1705 scanExpr(tree.init); 1705 scanExpr(tree.init);
1706 if (track) letInit(tree.pos(), tree.sym); 1706 if (track) letInit(tree.pos(), tree.sym);
1707 } finally { 1707 } finally {
1708 lint = lintPrev; 1708 lint = lintPrev;

mercurial