jaroslav@479
|
1 |
// initialize methods on arrays and String constants
|
jaroslav@479
|
2 |
vm.java_lang_reflect_Array(false);
|
jaroslav@274
|
3 |
vm.java_lang_String(false);
|
jaroslav@272
|
4 |
|
jaroslav@1633
|
5 |
Object.defineProperty(Array, "at", { configurable: true, writable: true, value : function(arr, indx, value) {
|
jaroslav@1559
|
6 |
var prev = arr[indx];
|
jaroslav@1560
|
7 |
if (typeof prev === 'undefined' && (indx < 0 || indx >= arr.length)) {
|
jaroslav@1559
|
8 |
var e = vm.java_lang_ArrayIndexOutOfBoundsException(true);
|
jaroslav@1559
|
9 |
e.constructor.cons__VLjava_lang_String_2.call(e, indx.toString());
|
jaroslav@1559
|
10 |
throw e;
|
jaroslav@458
|
11 |
}
|
jaroslav@1392
|
12 |
if (arguments.length === 3) {
|
jaroslav@1559
|
13 |
arr[indx] = value;
|
jaroslav@1559
|
14 |
} else {
|
jaroslav@1559
|
15 |
return prev;
|
jaroslav@459
|
16 |
}
|
jaroslav@1633
|
17 |
}});
|
jaroslav@1633
|
18 |
Object.defineProperty(Array.prototype, "getClass__Ljava_lang_Class_2", { configurable: true, writable: true, value : function() {
|
jaroslav@1532
|
19 |
return vm.java_lang_Class(false).defineArray__Ljava_lang_Class_2Ljava_lang_String_2Ljava_lang_Object_2(this.jvmName, this.fnc);
|
jaroslav@1633
|
20 |
}});
|
jaroslav@1633
|
21 |
Object.defineProperty(Array.prototype, "clone__Ljava_lang_Object_2", { configurable: true, writable: true, value : function() {
|
jaroslav@402
|
22 |
var s = this.length;
|
jaroslav@402
|
23 |
var ret = new Array(s);
|
jaroslav@402
|
24 |
for (var i = 0; i < s; i++) {
|
jaroslav@402
|
25 |
ret[i] = this[i];
|
jaroslav@402
|
26 |
}
|
jaroslav@571
|
27 |
ret.jvmName = this.jvmName;
|
jaroslav@1532
|
28 |
ret.fnc = this.fnc;
|
jaroslav@402
|
29 |
return ret;
|
jaroslav@1633
|
30 |
}});
|