# HG changeset patch # User Jaroslav Tulach # Date 1465875860 -7200 # Node ID 9d33c9507806e37cfa8ea7f06464183fe2943f90 # Parent 0e230308c26fc08b100f8383bb6d6f8d1e5546e4 Hardcoding that Array.push is using varargs diff -r 0e230308c26f -r 9d33c9507806 rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Jun 14 05:20:30 2016 +0200 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Jun 14 05:44:20 2016 +0200 @@ -1945,7 +1945,11 @@ append(vars[0].toString()).append(';'); return i; } - append(vars[0].toString()).append("['").append(mi[1]).append("']("); + if (mi[1].equals("push") && mi[0].equals("net/java/html/lib/Array")) { + append(vars[0].toString()).append("['").append(mi[1]).append("'].apply(").append(vars[0].toString()).append(","); + } else { + append(vars[0].toString()).append("['").append(mi[1]).append("']("); + } } else { append(accessVirtualMethod(vars[0].toString(), mn, mi, numArguments)); }