1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sun Apr 24 15:07:44 2016 +0200
1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue May 10 04:52:05 2016 +0200
1.3 @@ -252,18 +252,18 @@
1.4 continue;
1.5 }
1.6 }
1.7 - append("\n CLS.fld_").append(v.getName()).append(initField(v));
1.8 + append("\n CLS['fld_").append(v.getName()).append("']").append(initField(v));
1.9 append("\n m = c._").append(v.getName()).append(" = function (v) {")
1.10 - .append(" if (arguments.length == 1) CLS.fld_").append(v.getName())
1.11 - .append(" = v; return CLS.fld_").
1.12 - append(v.getName()).append("; };");
1.13 + .append(" if (arguments.length == 1) CLS['fld_").append(v.getName())
1.14 + .append("'] = v; return CLS['fld_").
1.15 + append(v.getName()).append("']; };");
1.16 } else {
1.17 append("\n m = c._").append(v.getName()).append(" = function (v) {")
1.18 - .append(" if (arguments.length == 1) this.fld_").
1.19 + .append(" if (arguments.length == 1) this['fld_").
1.20 append(className).append('_').append(v.getName())
1.21 - .append(" = v; return this.fld_").
1.22 + .append("'] = v; return this['fld_").
1.23 append(className).append('_').append(v.getName())
1.24 - .append("; };");
1.25 + .append("']; };");
1.26 }
1.27
1.28 declaredField(v, "c", "_" + v.getName());
1.29 @@ -375,9 +375,9 @@
1.30 byte[] onlyArr = v.findAnnotationData(true);
1.31 if (javaScriptOnly(onlyArr)) continue;
1.32 if (!v.isStatic()) {
1.33 - append("\n this.fld_").
1.34 + append("\n this['fld_").
1.35 append(className).append('_').
1.36 - append(v.getName()).append(initField(v));
1.37 + append(v.getName()).append("']").append(initField(v));
1.38 }
1.39 }
1.40 append("\n return this;");
1.41 @@ -1453,7 +1453,7 @@
1.42 );
1.43 } else {
1.44 final String fieldOwner = mangleClassName(field.cls.getClassName());
1.45 - smapper.replace(this, type, "@1.@2",
1.46 + smapper.replace(this, type, "@1@2",
1.47 smapper.getA(0),
1.48 accessField(fieldOwner, field, fi)
1.49 );
1.50 @@ -1477,7 +1477,7 @@
1.51 );
1.52 } else {
1.53 final String fieldOwner = mangleClassName(field.cls.getClassName());
1.54 - emit(smapper, this, "@2.@3 = @1;",
1.55 + emit(smapper, this, "@2@3 = @1;",
1.56 smapper.popT(type),
1.57 smapper.popA(),
1.58 accessField(fieldOwner, field, fi)