diff -r bcdfc29fd004 -r 044c72732424 javap/src/main/java/org/apidesign/javap/AnnotationParser.java --- a/javap/src/main/java/org/apidesign/javap/AnnotationParser.java Sun Feb 03 19:39:34 2013 +0100 +++ b/javap/src/main/java/org/apidesign/javap/AnnotationParser.java Sun Feb 03 23:18:47 2013 +0100 @@ -60,6 +60,12 @@ ) throws IOException { } + protected void visitEnumAttr( + String annoType, String attr, String attrType, String value + ) throws IOException { + visitAttr(annoType, attr, attrType, value); + } + /** Initialize the parsing with constant pool from cd. * * @param attr the attribute defining annotations @@ -130,10 +136,7 @@ String attrType = cd.stringValue(enumT, textual); int enumN = dis.readUnsignedShort(); String val = cd.stringValue(enumN, textual); - if (textual) { - val = "vm." + attrType.substring(1, attrType.length() - 1).replace('/', '_') + "(false).constructor." + val; - } - visitAttr(typeName, attrName, attrType, val); + visitEnumAttr(typeName, attrName, attrType, val); } else { throw new IOException("Unknown type " + type); }