1.1 --- a/src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java Fri Jan 29 16:54:52 2010 -0800 1.2 +++ b/src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java Mon Feb 01 17:05:35 2010 -0800 1.3 @@ -123,11 +123,14 @@ 1.4 // Class extends and implements clauses 1.5 case CLASS_EXTENDS: 1.6 case CLASS_EXTENDS_GENERIC_OR_ARRAY: 1.7 - position.type_index = cr.readUnsignedByte(); 1.8 + int in = cr.readUnsignedShort(); 1.9 + if (in == 0xFFFF) 1.10 + in = -1; 1.11 + position.type_index = in; 1.12 break; 1.13 // throws 1.14 case THROWS: 1.15 - position.type_index = cr.readUnsignedByte(); 1.16 + position.type_index = cr.readUnsignedShort(); 1.17 break; 1.18 case CLASS_LITERAL: 1.19 case CLASS_LITERAL_GENERIC_OR_ARRAY: 1.20 @@ -213,11 +216,11 @@ 1.21 // Class extends and implements clauses 1.22 case CLASS_EXTENDS: 1.23 case CLASS_EXTENDS_GENERIC_OR_ARRAY: 1.24 - n += 1; // type_index 1.25 + n += 2; // type_index 1.26 break; 1.27 // throws 1.28 case THROWS: 1.29 - n += 1; // type_index 1.30 + n += 2; // type_index 1.31 break; 1.32 case CLASS_LITERAL: 1.33 case CLASS_LITERAL_GENERIC_OR_ARRAY: