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); |