diff -r 26a86cc00224 -r 044c72732424 vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sun Feb 03 22:58:42 2013 +0100 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sun Feb 03 23:18:47 2013 +0100 @@ -1699,7 +1699,7 @@ return " = null;"; } - private static void generateAnno(ClassData cd, final Appendable out, byte[] data) throws IOException { + private void generateAnno(ClassData cd, final Appendable out, byte[] data) throws IOException { AnnotationParser ap = new AnnotationParser(true, false) { int[] cnt = new int[32]; int depth; @@ -1749,6 +1749,16 @@ } out.append(value); } + + @Override + protected void visitEnumAttr(String type, String attr, String attrType, String value) + throws IOException { + final String slashType = attrType.substring(1, attrType.length() - 1); + requireReference(slashType); + + out.append(accessClass(slashType.replace('/', '_'))) + .append("(false).constructor.").append(value); + } }; ap.parse(data, cd); }