author | Jaroslav Tulach <jaroslav.tulach@apidesign.org> |
Fri, 18 Jan 2013 17:04:16 +0100 | |
branch | ArrayReflect |
changeset 479 | 34931e381886 |
parent 459 | a2871a3fd4c5 |
child 481 | 472209ab1112 |
permissions | -rw-r--r-- |
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@272 | 5 |
// we need initialized arrays |
jaroslav@456 | 6 |
Array.prototype.initWith = function(sig, value) { |
jaroslav@446 | 7 |
for(var i = 0; i < this.length; i++) this[i] = value; |
jaroslav@448 | 8 |
this.jvmName = sig; |
jaroslav@272 | 9 |
return this; |
jaroslav@272 | 10 |
}; |
jaroslav@459 | 11 |
Array.prototype.at = function(indx, value) { |
jaroslav@458 | 12 |
if (indx < 0 || indx > this.length) { |
jaroslav@458 | 13 |
var e = vm.java_lang_ArrayIndexOutOfBoundsException(true); |
jaroslav@458 | 14 |
e.constructor.cons__VLjava_lang_String_2.call(e, indx.toString()); |
jaroslav@458 | 15 |
throw e; |
jaroslav@458 | 16 |
} |
jaroslav@459 | 17 |
if (arguments.length === 2) { |
jaroslav@459 | 18 |
this[indx] = value; |
jaroslav@459 | 19 |
} |
jaroslav@458 | 20 |
return this[indx]; |
jaroslav@458 | 21 |
}; |
jaroslav@448 | 22 |
Array.prototype.getClass__Ljava_lang_Class_2 = function() { |
jaroslav@450 | 23 |
return vm.java_lang_Class(false).defineArray__Ljava_lang_Class_2Ljava_lang_String_2(this.jvmName); |
jaroslav@448 | 24 |
}; |
jaroslav@402 | 25 |
Array.prototype.clone__Ljava_lang_Object_2 = function() { |
jaroslav@402 | 26 |
var s = this.length; |
jaroslav@402 | 27 |
var ret = new Array(s); |
jaroslav@402 | 28 |
for (var i = 0; i < s; i++) { |
jaroslav@402 | 29 |
ret[i] = this[i]; |
jaroslav@402 | 30 |
} |
jaroslav@402 | 31 |
return ret; |
jaroslav@402 | 32 |
}; |