Beispiel #1
0
  /** Creates the native Array object */
  static ESObject create(Global resin) {
    Native nativeArray = new NativeArray("Array", NEW, 1);
    ESArray proto = new ESArray();
    proto.prototype = resin.objProto;
    NativeWrapper array = new NativeWrapper(resin, nativeArray, proto, ESThunk.ARRAY_THUNK);
    resin.arrayProto = proto;

    put(proto, "join", JOIN, 1);
    put(proto, "toString", TO_STRING, 0);
    put(proto, "reverse", REVERSE, 0);
    put(proto, "sort", SORT, 0);

    // js1.2
    put(proto, "concat", CONCAT, 0);
    put(proto, "pop", POP, 0);
    put(proto, "push", PUSH, 0);
    put(proto, "shift", SHIFT, 0);
    put(proto, "unshift", UNSHIFT, 0);
    put(proto, "slice", SLICE, 2);
    put(proto, "splice", SPLICE, 0);

    proto.setClean();
    array.setClean();

    return array;
  }