diff -r 0c5a8b83182a -r 380564345434 rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sun May 11 23:06:45 2014 +0200 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue May 13 13:34:14 2014 +0200 @@ -1981,7 +1981,7 @@ } cnt[++depth] = 0; if (attrName != null) { - append(attrName).append(" : "); + append('"').append(attrName).append("\" : "); } if (type == '[') { append("["); @@ -2011,8 +2011,13 @@ final String slashType = attrType.substring(1, attrType.length() - 1); requireReference(slashType); - append(accessClass(mangleClassName(slashType))) - .append("(false).constructor.fld_").append(value); + final String cn = mangleClassName(slashType); + append(accessClass(cn)) + .append("(false)['valueOf__L"). + append(cn). + append("_2Ljava_lang_String_2']('"). + append(value). + append("')"); } }; ap.parse(data, cd);