Skip to content

Commit f78133e

Browse files
committed
Replacement for System.arraycopy
1 parent 6b1c8b3 commit f78133e

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/de/inetsoftware/jwebassembly/api/java/lang/ReplacementForSystem.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,19 @@ class ReplacementForSystem {
3333
static long currentTimeMillis() {
3434
return 0; // for Java compiler
3535
}
36+
37+
/**
38+
* Replacement for {@link System#arraycopy(Object, int, Object, int, int)}
39+
*/
40+
@Import( js = "(src,srcPos,dest,destPos,length) => {" + //
41+
"if(destPos<srcPos){" + //
42+
"for (var i=0;i<length;i++)dest[i+destPos]=src[i+srcPos];" + //
43+
"}else{" + //
44+
"for (var i=length-1;i>=0;i--)dest[i+destPos]=src[i+srcPos];" + //
45+
"}" + //
46+
"}" )
47+
@Replace( "java/lang/System.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V" )
48+
static void arraycopy() {
49+
// nothing
50+
}
3651
}

0 commit comments

Comments
 (0)