diff -r c668c83507ee -r 0d277415ed02 emul/mini/src/main/java/org/apidesign/bck2brwsr/emul/lang/System.java --- a/emul/mini/src/main/java/org/apidesign/bck2brwsr/emul/lang/System.java Wed Feb 06 15:19:59 2013 +0100 +++ b/emul/mini/src/main/java/org/apidesign/bck2brwsr/emul/lang/System.java Thu Feb 07 12:58:12 2013 +0100 @@ -17,6 +17,7 @@ */ package org.apidesign.bck2brwsr.emul.lang; +import java.lang.reflect.Method; import org.apidesign.bck2brwsr.core.JavaScriptBody; /** @@ -38,7 +39,15 @@ " }\n" + "}" ) - public static native void arraycopy(Object value, int srcBegin, Object dst, int dstBegin, int count); + public static void arraycopy(Object src, int srcBegin, Object dst, int dstBegin, int count) { + try { + Class system = Class.forName("java.lang.System"); + Method m = system.getMethod("arraycopy", Object.class, int.class, Object.class, int.class, int.class); + m.invoke(null, src, srcBegin, dst, dstBegin, count); + } catch (Exception ex) { + throw new IllegalStateException(ex); + } + } @JavaScriptBody(args = { "arr", "expectedSize" }, body = "while (expectedSize-- > arr.length) { arr.push(0); }; return arr;"