langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java
changeset 18672 1d6d1be0a94f
parent 18010 604faee85350
child 18912 e25cd61d8e59
equal deleted inserted replaced
18671:62748bbd2f47 18672:1d6d1be0a94f
  1943                         unrefdResources.remove(resVar.sym);
  1943                         unrefdResources.remove(resVar.sym);
  1944                     }
  1944                     }
  1945                 }
  1945                 }
  1946             }
  1946             }
  1947 
  1947 
       
  1948             /*  The analysis of each catch should be independent.
       
  1949              *  Each one should have the same initial values of inits and
       
  1950              *  uninits.
       
  1951              */
       
  1952             final Bits initsCatchPrev = new Bits(initsTry);
       
  1953             final Bits uninitsCatchPrev = new Bits(uninitsTry);
       
  1954 
  1948             for (List<JCCatch> l = tree.catchers; l.nonEmpty(); l = l.tail) {
  1955             for (List<JCCatch> l = tree.catchers; l.nonEmpty(); l = l.tail) {
  1949                 JCVariableDecl param = l.head.param;
  1956                 JCVariableDecl param = l.head.param;
  1950                 inits.assign(initsTry);
  1957                 inits.assign(initsCatchPrev);
  1951                 uninits.assign(uninitsTry);
  1958                 uninits.assign(uninitsCatchPrev);
  1952                 scan(param);
  1959                 scan(param);
  1953                 inits.incl(param.sym.adr);
  1960                 inits.incl(param.sym.adr);
  1954                 uninits.excl(param.sym.adr);
  1961                 uninits.excl(param.sym.adr);
  1955                 scan(l.head.body);
  1962                 scan(l.head.body);
  1956                 initsEnd.andSet(inits);
  1963                 initsEnd.andSet(inits);