# HG changeset patch # User Jaroslav Tulach # Date 1352700460 -3600 # Node ID 79aeed4723b8aac27b2b4a7be4244d8628e05360 # Parent 2cda429aeb49d32124f6fbbb043af12323d2b504 Name of field is not part of value diff -r 2cda429aeb49 -r 79aeed4723b8 javap/src/main/java/sun/tools/javap/AnnotationParser.java --- a/javap/src/main/java/sun/tools/javap/AnnotationParser.java Mon Nov 12 00:07:34 2012 +0100 +++ b/javap/src/main/java/sun/tools/javap/AnnotationParser.java Mon Nov 12 07:07:40 2012 +0100 @@ -68,25 +68,25 @@ String typeName = cd.StringValue(type); int cnt = dis.readUnsignedShort(); for (int i = 0; i < cnt; i++) { - readCmp(dis, cd, typeName); + String attrName = cd.StringValue(dis.readUnsignedShort()); + readValue(dis, cd, typeName, attrName); } } - private void readCmp(DataInputStream dis, ClassData cd, String typeName) + private void readValue(DataInputStream dis, ClassData cd, String typeName, String attrName) throws IOException { - String name = cd.StringValue(dis.readUnsignedShort()); char type = (char)dis.readByte(); if (type == '@') { readAnno(dis, cd); } else if ("CFJZsSIDB".indexOf(type) >= 0) { // NOI18N int primitive = dis.readUnsignedShort(); - visitAttr(typeName, name, cd.StringValue(primitive)); + visitAttr(typeName, attrName, cd.StringValue(primitive)); } else if (type == 'c') { int cls = dis.readUnsignedShort(); } else if (type == '[') { int cnt = dis.readUnsignedShort(); for (int i = 0; i < cnt; i++) { - readCmp(dis, cd, typeName); + readValue(dis, cd, typeName, attrName); } } else if (type == 'e') { int enumT = dis.readUnsignedShort();