emul/src/main/resources/org/apidesign/vm4brwsr/emul/java_lang_String.js
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Fri, 18 Jan 2013 17:04:16 +0100
branchArrayReflect
changeset 479 34931e381886
parent 459 a2871a3fd4c5
child 481 472209ab1112
permissions -rw-r--r--
Reusing methods from java.lang.reflect.Array when creating new instances of one-dimensional arrays
     1 // initialize methods on arrays and String constants
     2 vm.java_lang_reflect_Array(false);
     3 vm.java_lang_String(false);
     4 
     5 // we need initialized arrays
     6 Array.prototype.initWith = function(sig, value) {
     7   for(var i = 0; i < this.length; i++) this[i] = value;
     8   this.jvmName = sig;
     9   return this;
    10 };
    11 Array.prototype.at = function(indx, value) {
    12   if (indx < 0 || indx > this.length) {
    13       var e = vm.java_lang_ArrayIndexOutOfBoundsException(true);
    14       e.constructor.cons__VLjava_lang_String_2.call(e, indx.toString());
    15       throw e;
    16   }
    17   if (arguments.length === 2) {
    18       this[indx] = value;
    19   }
    20   return this[indx];
    21 };
    22 Array.prototype.getClass__Ljava_lang_Class_2 = function() {
    23   return vm.java_lang_Class(false).defineArray__Ljava_lang_Class_2Ljava_lang_String_2(this.jvmName);
    24 };
    25 Array.prototype.clone__Ljava_lang_Object_2 = function() {
    26   var s = this.length;
    27   var ret = new Array(s);
    28   for (var i = 0; i < s; i++) {
    29       ret[i] = this[i];
    30   }
    31   return ret;
    32 };