diff -r 51183f00d2df -r de609e0cdab5 rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Wed Jun 08 07:08:52 2016 +0200 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Fri Jun 10 05:52:44 2016 +0200 @@ -1491,12 +1491,16 @@ int indx = readUShortArg(byteCodes, i); String[] fi = jc.getFieldInfoName(indx); final int type = VarType.fromFieldType(fi[2].charAt(0)); - String ac = accessClassFalse(mangleClassName(fi[0])); - FieldData field = findField(fi); - String af = accessField(ac, field, fi); - smapper.assign(this, type, af + "()"); + if (DirectlLibraries.isScriptLibrary(fi[0]) && fi[0].endsWith("/Exports")) { + smapper.assign(this, type, fi[1]); + } else { + String ac = accessClassFalse(mangleClassName(fi[0])); + FieldData field = findField(fi); + String af = accessField(ac, field, fi); + smapper.assign(this, type, af + "()"); + addReference(fi[0]); + } i += 2; - addReference(fi[0]); break; } case opc_putstatic: {