src/share/classes/com/sun/tools/javac/jvm/Gen.java

changeset 2167
d2fa3f7e964e
parent 2146
7de97abc4a5c
child 2207
756ae3791c45
equal deleted inserted replaced
2166:31fe30e2deac 2167:d2fa3f7e964e
1650 int end = gaps.head.intValue(); 1650 int end = gaps.head.intValue();
1651 registerCatch(tree.pos(), 1651 registerCatch(tree.pos(),
1652 startpc, end, code.curCP(), 1652 startpc, end, code.curCP(),
1653 catchType); 1653 catchType);
1654 if (subCatch.type.isAnnotated()) { 1654 if (subCatch.type.isAnnotated()) {
1655 // All compounds share the same position, simply update the 1655 for (Attribute.TypeCompound tc :
1656 // first one. 1656 subCatch.type.getAnnotationMirrors()) {
1657 subCatch.type.getAnnotationMirrors().head.position.type_index = catchType; 1657 tc.position.type_index = catchType;
1658 }
1658 } 1659 }
1659 } 1660 }
1660 gaps = gaps.tail; 1661 gaps = gaps.tail;
1661 startpc = gaps.head.intValue(); 1662 startpc = gaps.head.intValue();
1662 gaps = gaps.tail; 1663 gaps = gaps.tail;
1666 int catchType = makeRef(tree.pos(), subCatch.type); 1667 int catchType = makeRef(tree.pos(), subCatch.type);
1667 registerCatch(tree.pos(), 1668 registerCatch(tree.pos(),
1668 startpc, endpc, code.curCP(), 1669 startpc, endpc, code.curCP(),
1669 catchType); 1670 catchType);
1670 if (subCatch.type.isAnnotated()) { 1671 if (subCatch.type.isAnnotated()) {
1671 // All compounds share the same position, simply update the 1672 for (Attribute.TypeCompound tc :
1672 // first one. 1673 subCatch.type.getAnnotationMirrors()) {
1673 subCatch.type.getAnnotationMirrors().head.position.type_index = catchType; 1674 tc.position.type_index = catchType;
1675 }
1674 } 1676 }
1675 } 1677 }
1676 } 1678 }
1677 VarSymbol exparam = tree.param.sym; 1679 VarSymbol exparam = tree.param.sym;
1678 code.statBegin(tree.pos); 1680 code.statBegin(tree.pos);

mercurial