emul/src/main/resources/org/apidesign/vm4brwsr/emul/java_lang_String.js
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Mon, 14 Jan 2013 18:21:48 +0100
changeset 448 ac05de5a8786
parent 402 1fb46c65f030
child 450 f2891b169df3
permissions -rw-r--r--
More reflection for arrays. getClass() and isArray() work.
     1 // initialize methods on String constants
     2 vm.java_lang_String(false);
     3 
     4 // we need initialized arrays
     5 Array.prototype.fillNulls = function() {
     6   for(var i = 0; i < this.length; i++) this[i] = null;
     7   return this;
     8 };
     9 Array.prototype.arrtype = function(sig) {
    10   this.jvmName = sig;
    11   return this;
    12 };
    13 Array.prototype.getClass__Ljava_lang_Class_2 = function() {
    14   var c = Array[this.jvmName];
    15   if (c) return c;
    16   c = vm.java_lang_Class(true);
    17   c.jvmName = this.jvmName;
    18   c.superclass = vm.java_lang_Object(false).$class;
    19   c.array = true;
    20   Array[this.jvmName] = c;
    21   return c;
    22 };
    23 Array.prototype.clone__Ljava_lang_Object_2 = function() {
    24   var s = this.length;
    25   var ret = new Array(s);
    26   for (var i = 0; i < s; i++) {
    27       ret[i] = this[i];
    28   }
    29   return ret;
    30 };