1.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypes.java Sun May 11 14:01:18 2014 +0200
1.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypes.java Wed May 14 21:43:16 2014 +0200
1.3 @@ -96,7 +96,7 @@
1.4 + " var el = window.document.getElementById(name);\n"
1.5 + " el.parentNode.removeChild(el);\n"
1.6 + " arr[0] = data;\n"
1.7 - + " run.run__V();\n"
1.8 + + " run['run__V']();\n"
1.9 + "};\n"
1.10 + "return true;\n"
1.11 )
1.12 @@ -115,7 +115,7 @@
1.13 + " } catch (error) {;\n"
1.14 + " throw 'Cannot parse' + error + ':' + this.response;\n"
1.15 + " };\n"
1.16 - + " callback.run__V();\n"
1.17 + + " callback['run__V']();\n"
1.18 + "};"
1.19 + "request.send();"
1.20 )
2.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/KOList.java Sun May 11 14:01:18 2014 +0200
2.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/KOList.java Wed May 14 21:43:16 2014 +0200
2.3 @@ -140,7 +140,7 @@
2.4 }
2.5
2.6
2.7 - @JavaScriptOnly(name = "koArray", value = "function() { return this.toArray___3Ljava_lang_Object_2(); }")
2.8 + @JavaScriptOnly(name = "koArray", value = "function() { return this['toArray___3Ljava_lang_Object_2'](); }")
2.9 private static native int koArray();
2.10
2.11 private void notifyChange() {
3.1 --- a/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypesTest.java Sun May 11 14:01:18 2014 +0200
3.2 +++ b/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypesTest.java Wed May 14 21:43:16 2014 +0200
3.3 @@ -28,9 +28,9 @@
3.4 */
3.5 public class ConvertTypesTest {
3.6 @JavaScriptBody(args = { "includeSex" }, body = "var json = new Object();"
3.7 - + "json.firstName = 'son';\n"
3.8 - + "json.lastName = 'dj';\n"
3.9 - + "if (includeSex) json.sex = 'MALE';\n"
3.10 + + "json['firstName'] = 'son';\n"
3.11 + + "json['lastName'] = 'dj';\n"
3.12 + + "if (includeSex) json['sex'] = 'MALE';\n"
3.13 + "return json;"
3.14 )
3.15 private static native Object createJSON(boolean includeSex);
4.1 --- a/launcher/http/src/main/java/org/apidesign/bck2brwsr/launcher/impl/Console.java Sun May 11 14:01:18 2014 +0200
4.2 +++ b/launcher/http/src/main/java/org/apidesign/bck2brwsr/launcher/impl/Console.java Wed May 14 21:43:16 2014 +0200
4.3 @@ -266,7 +266,7 @@
4.4 return u;
4.5 }
4.6
4.7 - @JavaScriptBody(args = {}, body = "vm.java_lang_Class(false).desiredAssertionStatus = true;")
4.8 + @JavaScriptBody(args = {}, body = "vm['java_lang_Class'](false)['desiredAssertionStatus'] = true;")
4.9 private static void turnAssetionStatusOn() {
4.10 }
4.11
5.1 --- a/rt/emul/compact/src/main/java/java/util/EnumMap.java Sun May 11 14:01:18 2014 +0200
5.2 +++ b/rt/emul/compact/src/main/java/java/util/EnumMap.java Wed May 14 21:43:16 2014 +0200
5.3 @@ -737,7 +737,7 @@
5.4 * Returns all of the values comprising K.
5.5 * The result is uncloned, cached, and shared by all callers.
5.6 */
5.7 - @JavaScriptBody(args = { "enumType" }, body = "return enumType.cnstr.fld_$VALUES;")
5.8 + @JavaScriptBody(args = { "enumType" }, body = "return enumType.cnstr.prototype['_$VALUES']();")
5.9 private static native <K extends Enum<K>> K[] getKeyUniverse(Class<K> keyType);
5.10
5.11 private static final long serialVersionUID = 458661240069192865L;
6.1 --- a/rt/emul/compact/src/main/java/java/util/EnumSet.java Sun May 11 14:01:18 2014 +0200
6.2 +++ b/rt/emul/compact/src/main/java/java/util/EnumSet.java Wed May 14 21:43:16 2014 +0200
6.3 @@ -384,7 +384,7 @@
6.4 * Returns all of the values comprising E.
6.5 * The result is uncloned, cached, and shared by all callers.
6.6 */
6.7 - @JavaScriptBody(args = { "enumType" }, body = "return enumType.cnstr.fld_$VALUES;")
6.8 + @JavaScriptBody(args = { "enumType" }, body = "return enumType.cnstr.prototype['_$VALUES']();")
6.9 private static native <E extends Enum<E>> E[] getUniverse(Class<E> elementType);
6.10
6.11 /**
7.1 --- a/rt/emul/compact/src/main/java/org/apidesign/bck2brwsr/emul/reflect/ProxyImpl.java Sun May 11 14:01:18 2014 +0200
7.2 +++ b/rt/emul/compact/src/main/java/org/apidesign/bck2brwsr/emul/reflect/ProxyImpl.java Wed May 14 21:43:16 2014 +0200
7.3 @@ -679,8 +679,8 @@
7.4
7.5 @JavaScriptBody(args = { "ignore", "name", "byteCode" },
7.6 body =
7.7 - "var r = vm._reload;"
7.8 - + "if (!r) r = exports._reload;"
7.9 + "var r = vm['_reload'];"
7.10 + + "if (!r) r = exports['_reload'];"
7.11 + "return r(name, byteCode).constructor.$class;"
7.12 )
7.13 private static native Class defineClass0(
7.14 @@ -909,8 +909,8 @@
7.15 @JavaScriptBody(args = { "c", "sig", "method", "primitive" }, body =
7.16 "var p = c.cnstr.prototype;\n" +
7.17 "p[sig] = function() {\n" +
7.18 - " var h = this._h();\n" +
7.19 - " var res = h.invoke__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_reflect_Method_2_3Ljava_lang_Object_2(this, method, arguments);\n" +
7.20 + " var h = this['_h']();\n" +
7.21 + " var res = h['invoke__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_reflect_Method_2_3Ljava_lang_Object_2'](this, method, arguments);\n" +
7.22 " \n" +
7.23 " \n" +
7.24 " return res;\n" +
7.25 @@ -919,8 +919,8 @@
7.26 private static native void defineMethod(Class<?> proxyClass, String sig, Method method, boolean primitive);
7.27
7.28 @JavaScriptBody(args = "c", body =
7.29 - "var h = c.cnstr.cons__VLjava_lang_reflect_InvocationHandler_2 = function(h) {\n"
7.30 - + " c.superclass.cnstr.cons__VLjava_lang_reflect_InvocationHandler_2.call(this, h);\n"
7.31 + "var h = c.cnstr['cons__VLjava_lang_reflect_InvocationHandler_2'] = function(h) {\n"
7.32 + + " c.superclass.cnstr['cons__VLjava_lang_reflect_InvocationHandler_2'].call(this, h);\n"
7.33 + "}\n"
7.34 + "h.cls = c.cnstr;\n"
7.35 )
8.1 --- a/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java Sun May 11 14:01:18 2014 +0200
8.2 +++ b/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java Wed May 14 21:43:16 2014 +0200
8.3 @@ -178,11 +178,13 @@
8.4 return "".getClass().isEnum();
8.5 }
8.6
8.7 - @Compare public String newInstanceFails() throws InstantiationException {
8.8 + @Compare public String newInstanceFails() {
8.9 try {
8.10 return "success: " + StaticUseSub.class.newInstance();
8.11 } catch (IllegalAccessException ex) {
8.12 - return ex.getClass().getName();
8.13 + return "failure";
8.14 + } catch (InstantiationException ex) {
8.15 + return "failure";
8.16 }
8.17 }
8.18
9.1 --- a/rt/emul/mini/src/main/java/java/lang/Enum.java Sun May 11 14:01:18 2014 +0200
9.2 +++ b/rt/emul/mini/src/main/java/java/lang/Enum.java Wed May 14 21:43:16 2014 +0200
9.3 @@ -235,7 +235,7 @@
9.4 throw new IllegalArgumentException();
9.5 }
9.6
9.7 - @JavaScriptBody(args = { "enumType" }, body = "return enumType.cnstr.fld_$VALUES;")
9.8 + @JavaScriptBody(args = { "enumType" }, body = "return enumType.cnstr.prototype['_$VALUES']();")
9.9 private static native Object[] values(Class<?> enumType);
9.10
9.11 /**
10.1 --- a/rt/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_String.js Sun May 11 14:01:18 2014 +0200
10.2 +++ b/rt/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_String.js Wed May 14 21:43:16 2014 +0200
10.3 @@ -3,15 +3,17 @@
10.4 vm.java_lang_String(false);
10.5
10.6 Array.at = function(arr, indx, value) {
10.7 - if (indx < 0 || indx >= arr.length) {
10.8 - var e = vm.java_lang_ArrayIndexOutOfBoundsException(true);
10.9 - e.constructor.cons__VLjava_lang_String_2.call(e, indx.toString());
10.10 - throw e;
10.11 + var prev = arr[indx];
10.12 + if (typeof prev === 'undefined' && (indx < 0 || indx >= arr.length)) {
10.13 + var e = vm.java_lang_ArrayIndexOutOfBoundsException(true);
10.14 + e.constructor.cons__VLjava_lang_String_2.call(e, indx.toString());
10.15 + throw e;
10.16 }
10.17 if (arguments.length === 3) {
10.18 - arr[indx] = value;
10.19 + arr[indx] = value;
10.20 + } else {
10.21 + return prev;
10.22 }
10.23 - return arr[indx];
10.24 };
10.25 Array.prototype.getClass__Ljava_lang_Class_2 = function() {
10.26 return vm.java_lang_Class(false).defineArray__Ljava_lang_Class_2Ljava_lang_String_2Ljava_lang_Object_2(this.jvmName, this.fnc);
11.1 --- a/rt/emul/zip/src/main/java/org/apidesign/bck2brwsr/emul/zip/FastJar.java Sun May 11 14:01:18 2014 +0200
11.2 +++ b/rt/emul/zip/src/main/java/org/apidesign/bck2brwsr/emul/zip/FastJar.java Wed May 14 21:43:16 2014 +0200
11.3 @@ -36,6 +36,7 @@
11.4 import java.lang.reflect.Method;
11.5 import java.util.zip.ZipEntry;
11.6 import java.util.zip.ZipInputStream;
11.7 +import org.apidesign.bck2brwsr.core.Exported;
11.8 import org.apidesign.bck2brwsr.core.JavaScriptBody;
11.9
11.10 /**
11.11 @@ -185,6 +186,8 @@
11.12 + " }\n"
11.13 + "}"
11.14 )
11.15 +
11.16 + @Exported
11.17 static void arraycopy(Object src, int srcBegin, Object dst, int dstBegin, int count) {
11.18 try {
11.19 Class<?> system = Class.forName("java.lang.System");
12.1 --- a/rt/emul/zip/src/test/java/org/apidesign/bck2brwsr/emul/zip/ZipArchive.java Sun May 11 14:01:18 2014 +0200
12.2 +++ b/rt/emul/zip/src/test/java/org/apidesign/bck2brwsr/emul/zip/ZipArchive.java Wed May 14 21:43:16 2014 +0200
12.3 @@ -17,7 +17,6 @@
12.4 */
12.5 package org.apidesign.bck2brwsr.emul.zip;
12.6
12.7 -import java.io.ByteArrayOutputStream;
12.8 import java.io.IOException;
12.9 import java.io.InputStream;
12.10 import java.util.zip.ZipEntry;
13.1 --- a/rt/emul/zip/src/test/java/org/apidesign/bck2brwsr/vmtest/impl/ZipFileTest.java Sun May 11 14:01:18 2014 +0200
13.2 +++ b/rt/emul/zip/src/test/java/org/apidesign/bck2brwsr/vmtest/impl/ZipFileTest.java Wed May 14 21:43:16 2014 +0200
13.3 @@ -54,8 +54,8 @@
13.4
13.5 @JavaScriptBody(args = { "res", "path" }, body =
13.6 "var myvm = bck2brwsr.apply(null, path);\n"
13.7 - + "var cls = myvm.loadClass('java.lang.String');\n"
13.8 - + "return cls.getClass__Ljava_lang_Class_2().getResourceAsStream__Ljava_io_InputStream_2Ljava_lang_String_2(res);\n"
13.9 + + "var cls = myvm['loadClass']('java.lang.String');\n"
13.10 + + "return cls['getClass__Ljava_lang_Class_2']()['getResourceAsStream__Ljava_io_InputStream_2Ljava_lang_String_2'](res);\n"
13.11 )
13.12 private static native Object loadVMResource(String res, String...path);
13.13
14.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sun May 11 14:01:18 2014 +0200
14.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Wed May 14 21:43:16 2014 +0200
14.3 @@ -1313,7 +1313,8 @@
14.4 String[] fi = jc.getFieldInfoName(indx);
14.5 final int type = VarType.fromFieldType(fi[2].charAt(0));
14.6 String ac = accessClass(mangleClassName(fi[0]));
14.7 - smapper.assign(this, type, ac + "(false)._" + fi[1] + "()");
14.8 + String af = accessField(ac + "(false)", "_" + fi[1], fi);
14.9 + smapper.assign(this, type, af + "()");
14.10 i += 2;
14.11 addReference(fi[0]);
14.12 break;
14.13 @@ -1980,7 +1981,7 @@
14.14 }
14.15 cnt[++depth] = 0;
14.16 if (attrName != null) {
14.17 - append(attrName).append(" : ");
14.18 + append('"').append(attrName).append("\" : ");
14.19 }
14.20 if (type == '[') {
14.21 append("[");
14.22 @@ -2010,8 +2011,13 @@
14.23 final String slashType = attrType.substring(1, attrType.length() - 1);
14.24 requireReference(slashType);
14.25
14.26 - append(accessClass(mangleClassName(slashType)))
14.27 - .append("(false).constructor.fld_").append(value);
14.28 + final String cn = mangleClassName(slashType);
14.29 + append(accessClass(cn))
14.30 + .append("(false)['valueOf__L").
14.31 + append(cn).
14.32 + append("_2Ljava_lang_String_2']('").
14.33 + append(value).
14.34 + append("')");
14.35 }
14.36 };
14.37 ap.parse(data, cd);
15.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ClosureWrapper.java Sun May 11 14:01:18 2014 +0200
15.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ClosureWrapper.java Wed May 14 21:43:16 2014 +0200
15.3 @@ -33,7 +33,13 @@
15.4 */
15.5 @ExtraJavaScript(processByteCode = false, resource="")
15.6 final class ClosureWrapper extends CommandLineRunner {
15.7 - private static final String[] ARGS = { "--compilation_level", "SIMPLE_OPTIMIZATIONS", "--js", "bck2brwsr-raw.js" /*, "--debug", "--formatting", "PRETTY_PRINT" */ };
15.8 + private static final String[] ARGS = {
15.9 + "--compilation_level",
15.10 + "SIMPLE_OPTIMIZATIONS",
15.11 + "--js", "bck2brwsr-raw.js"
15.12 + //, "--debug"
15.13 + //, "--formatting", "PRETTY_PRINT"
15.14 + };
15.15
15.16 private final Bck2Brwsr config;
15.17
15.18 @@ -175,6 +181,7 @@
15.19 "toInt32",
15.20 "toFP",
15.21 "toLong",
15.22 + "toJS",
15.23 "toExactString",
15.24 "add64",
15.25 "sub64",
15.26 @@ -185,6 +192,7 @@
15.27 "shl64",
15.28 "shr64",
15.29 "ushr64",
15.30 + "compare",
15.31 "compare64",
15.32 "neg64",
15.33 "div32",
16.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ExportedSymbols.java Sun May 11 14:01:18 2014 +0200
16.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ExportedSymbols.java Wed May 14 21:43:16 2014 +0200
16.3 @@ -55,8 +55,20 @@
16.4 }
16.5
16.6 boolean isExported(FieldData fieldData) throws IOException {
16.7 - return isAccessible(fieldData.access) && isExported(fieldData.cls)
16.8 - || isMarkedAsExported(fieldData);
16.9 + if (
16.10 + isAccessible(fieldData.access) &&
16.11 + isExported(fieldData.cls) || isMarkedAsExported(fieldData)
16.12 + ) {
16.13 + return true;
16.14 + }
16.15 + if (
16.16 + fieldData.isStatic() && fieldData.getName().equals("$VALUES") &&
16.17 + "java/lang/Enum".equals(fieldData.cls.getSuperClassName())
16.18 + ) {
16.19 + // enum values need to be exported
16.20 + return true;
16.21 + }
16.22 + return false;
16.23 }
16.24
16.25 private boolean isMarkedAsExportedPackage(String pkgName) {
17.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Sun May 11 14:01:18 2014 +0200
17.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Wed May 14 21:43:16 2014 +0200
17.3 @@ -98,7 +98,7 @@
17.4 }
17.5
17.6 for (String r : asBinary.toArray()) {
17.7 - append("\n ").append(getExportsObject()).append(".registerResource('");
17.8 + append("\n ").append(getExportsObject()).append("['registerResource']('");
17.9 append(r).append("', '");
17.10 InputStream is = this.resources.get(r);
17.11 byte[] arr = new byte[is.available()];
17.12 @@ -522,7 +522,7 @@
17.13 + " for (var i = 0; i < extensions.length; ++i) {\n"
17.14 + " extensions[i](vm);\n"
17.15 + " }\n"
17.16 - + " vm.registerResource = null;\n"
17.17 + + " vm['registerResource'] = null;\n"
17.18 + " var knownExtensions = extensions.length;\n"
17.19 + " var loader = {};\n"
17.20 + " loader.vm = vm;\n"
17.21 @@ -535,9 +535,9 @@
17.22 + " load__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_String_2_3Ljava_lang_Object_2(loader, name, args);\n"
17.23 + " } catch (err) {\n"
17.24 + " while (knownExtensions < extensions.length) {\n"
17.25 - + " vm.registerResource = registerResource;\n"
17.26 + + " vm['registerResource'] = registerResource;\n"
17.27 + " extensions[knownExtensions++](vm);\n"
17.28 - + " vm.registerResource = null;\n"
17.29 + + " vm['registerResource'] = null;\n"
17.30 + " }\n"
17.31 + " fn = vm[attr];\n"
17.32 + " if (fn) return fn(false);\n"
17.33 @@ -568,9 +568,9 @@
17.34 + " loadBytes___3BLjava_lang_Object_2Ljava_lang_String_2_3Ljava_lang_Object_2I(loader, name, args, skip);\n"
17.35 + " if (ret !== null) return ret;\n"
17.36 + " while (knownExtensions < extensions.length) {\n"
17.37 - + " vm.registerResource = registerResource;\n"
17.38 + + " vm['registerResource'] = registerResource;\n"
17.39 + " extensions[knownExtensions++](vm);\n"
17.40 - + " vm.registerResource = null;\n"
17.41 + + " vm['registerResource'] = null;\n"
17.42 + " }\n"
17.43 + " var arr = resources[name];\n"
17.44 + " return (arr && arr.length > arrSize) ? arr[arrSize] : null;\n"
18.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/Numbers.java Sun May 11 14:01:18 2014 +0200
18.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/Numbers.java Wed May 14 21:43:16 2014 +0200
18.3 @@ -37,46 +37,46 @@
18.4 return a % b;
18.5 }
18.6
18.7 - static float deserFloat() throws IOException {
18.8 + public static float deserFloat() throws IOException {
18.9 byte[] arr = {(byte) 71, (byte) 84, (byte) 52, (byte) 83};
18.10 ByteArrayInputStream is = new ByteArrayInputStream(arr);
18.11 DataInputStream dis = new DataInputStream(is);
18.12 float r = dis.readFloat();
18.13 return r;
18.14 }
18.15 - static double deserDouble() throws IOException {
18.16 + public static double deserDouble() throws IOException {
18.17 byte[] arr = {(byte)64, (byte)8, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0};
18.18 ByteArrayInputStream is = new ByteArrayInputStream(arr);
18.19 DataInputStream dis = new DataInputStream(is);
18.20 return dis.readDouble();
18.21 }
18.22 - static long deserLong(byte[] arr) throws IOException {
18.23 + public static long deserLong(byte[] arr) throws IOException {
18.24 ByteArrayInputStream is = new ByteArrayInputStream(arr);
18.25 DataInputStream dis = new DataInputStream(is);
18.26 return dis.readLong();
18.27 }
18.28 - static long deserLong(byte[] arr, int shift) throws IOException {
18.29 + public static long deserLong(byte[] arr, int shift) throws IOException {
18.30 return deserLong(arr) >> shift;
18.31 }
18.32 - static int deserInt() throws IOException {
18.33 + public static int deserInt() throws IOException {
18.34 byte[] arr = {(byte) 71, (byte) 84, (byte) 52, (byte) 83};
18.35 ByteArrayInputStream is = new ByteArrayInputStream(arr);
18.36 DataInputStream dis = new DataInputStream(is);
18.37 return dis.readInt();
18.38 }
18.39 - static long bytesToLong(byte b1, byte b2, int shift) {
18.40 + public static long bytesToLong(byte b1, byte b2, int shift) {
18.41 return (((long)b1 << 56) +
18.42 ((long)b2 & 255) << 48) >> shift;
18.43 }
18.44
18.45 - static String intToString() {
18.46 + public static String intToString() {
18.47 return new Integer(5).toString().toString();
18.48 }
18.49 - static String floatToString() {
18.50 + public static String floatToString() {
18.51 return new Float(7.0).toString().toString();
18.52 }
18.53
18.54 - static double seven(int todo) {
18.55 + public static double seven(int todo) {
18.56 switch (todo) {
18.57 case 0: return sevenNew().doubleValue();
18.58 case 1: return sevenNew().intValue();
18.59 @@ -91,7 +91,7 @@
18.60 default: throw new IllegalStateException();
18.61 }
18.62 }
18.63 - static boolean bseven(int todo) {
18.64 + public static boolean bseven(int todo) {
18.65 switch (todo) {
18.66 case 30: return bvalueOf(Boolean.FALSE);
18.67 case 31: return bvalueOf(Boolean.TRUE);
19.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/Resources.java Sun May 11 14:01:18 2014 +0200
19.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/Resources.java Wed May 14 21:43:16 2014 +0200
19.3 @@ -64,7 +64,7 @@
19.4 ((long)b2 & 255) << 48) >> shift;
19.5 }
19.6
19.7 - static String loadHello() throws IOException {
19.8 + public static String loadHello() throws IOException {
19.9 Enumeration<URL> en;
19.10 try {
19.11 en = Resources.class.getClassLoader().getResources("META-INF/ahoj");
19.12 @@ -78,7 +78,7 @@
19.13 }
19.14 return sb.toString().toString();
19.15 }
19.16 - static String loadJustHello() throws IOException {
19.17 + public static String loadJustHello() throws IOException {
19.18 URL url = Resources.class.getResource("/META-INF/ahoj");
19.19 StringBuilder sb = new StringBuilder();
19.20 sb.append(readIS(url.openStream(), true));
20.1 --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/TestVM.java Sun May 11 14:01:18 2014 +0200
20.2 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/TestVM.java Wed May 14 21:43:16 2014 +0200
20.3 @@ -160,7 +160,9 @@
20.4 return super.get(name);
20.5 }
20.6 }).
20.7 - addRootClasses(name).library(true);
20.8 + addRootClasses(name).
20.9 + obfuscation(ObfuscationLevel.FULL).
20.10 + library(true);
20.11 if (resourceName != null) {
20.12 b2b = b2b.addResources(resourceName);
20.13 }