vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
branchreflection
changeset 237 84ffc347412d
parent 236 d97770281580
child 249 001389026dbf
     1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Sun Dec 02 12:39:51 2012 +0100
     1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Sun Dec 02 14:01:17 2012 +0100
     1.3 @@ -994,6 +994,10 @@
     1.4          }
     1.5          final String jvmType = "Lorg/apidesign/bck2brwsr/core/JavaScriptBody;";
     1.6          class P extends AnnotationParser {
     1.7 +            public P() {
     1.8 +                super(false);
     1.9 +            }
    1.10 +            
    1.11              int cnt;
    1.12              String[] args = new String[30];
    1.13              String body;
    1.14 @@ -1055,7 +1059,7 @@
    1.15          final String[] values = new String[attrNames.length];
    1.16          final boolean[] found = { false };
    1.17          final String jvmType = "L" + className.replace('.', '/') + ";";
    1.18 -        AnnotationParser ap = new AnnotationParser() {
    1.19 +        AnnotationParser ap = new AnnotationParser(false) {
    1.20              @Override
    1.21              protected void visitAttr(String type, String attr, String at, String value) {
    1.22                  if (type.equals(jvmType)) {
    1.23 @@ -1093,11 +1097,15 @@
    1.24      }
    1.25  
    1.26      private static void generateAnno(ClassData cd, final Appendable out, byte[] data) throws IOException {
    1.27 -        AnnotationParser ap = new AnnotationParser() {
    1.28 +        AnnotationParser ap = new AnnotationParser(true) {
    1.29 +            int anno;
    1.30              int cnt;
    1.31              
    1.32              @Override
    1.33              protected void visitAnnotationStart(String type) throws IOException {
    1.34 +                if (anno++ > 0) {
    1.35 +                    out.append(",");
    1.36 +                }
    1.37                  out.append('"').append(type).append("\" : {\n");
    1.38                  cnt = 0;
    1.39              }