# HG changeset patch # User Jaroslav Tulach # Date 1399287490 -7200 # Node ID 9afa6856382c54d33665a5693987c27c05be0d6b # Parent 984f8ed9e5145f3cc985fb4784e268f5b0dde6e4 Adopting proxy implementation to extension mode diff -r 984f8ed9e514 -r 9afa6856382c rt/emul/compact/src/main/java/org/apidesign/bck2brwsr/emul/reflect/ProxyImpl.java --- a/rt/emul/compact/src/main/java/org/apidesign/bck2brwsr/emul/reflect/ProxyImpl.java Mon May 05 12:25:44 2014 +0200 +++ b/rt/emul/compact/src/main/java/org/apidesign/bck2brwsr/emul/reflect/ProxyImpl.java Mon May 05 12:58:10 2014 +0200 @@ -50,6 +50,7 @@ import java.util.WeakHashMap; import org.apidesign.bck2brwsr.core.JavaScriptBody; import org.apidesign.bck2brwsr.emul.reflect.MethodImpl; +import org.apidesign.vm4brwsr.api.VM; /** * {@code Proxy} provides static methods for creating dynamic proxy @@ -677,7 +678,10 @@ } @JavaScriptBody(args = { "ignore", "name", "byteCode" }, - body = "return vm._reload(name, byteCode).constructor.$class;" + body = + "var r = vm._reload;" + + "if (!r) r = exports._reload;" + + "return r(name, byteCode).constructor.$class;" ) private static native Class defineClass0( ClassLoader loader, String name, byte[] b diff -r 984f8ed9e514 -r 9afa6856382c rt/emul/mini/src/main/java/org/apidesign/vm4brwsr/api/VM.java --- a/rt/emul/mini/src/main/java/org/apidesign/vm4brwsr/api/VM.java Mon May 05 12:25:44 2014 +0200 +++ b/rt/emul/mini/src/main/java/org/apidesign/vm4brwsr/api/VM.java Mon May 05 12:58:10 2014 +0200 @@ -40,7 +40,11 @@ reloadImpl(clazz.getName(), byteCode); } - @JavaScriptBody(args = { "name", "byteCode" }, body = "vm._reload(name, byteCode);") + @JavaScriptBody(args = { "name", "byteCode" }, body = + "var r = vm._reload;" + + "if (!r) r = exports._reload;" + + "r(name, byteCode);" + ) private static void reloadImpl(String name, byte[] byteCode) throws IOException { throw new IOException(); }