private static final JS.Method METHOD = new JS.Method();
private static final String[] empty = new String[0];
- JSArray() { }
- JSArray(int size) { super(size); }
- JSArray(JS[] args) { super(args.length); addAll(args); }
- JSArray(JS arg) { super(1); add(arg); }
+ public JSArray() { }
+ public JSArray(int size) { super(size); }
+ public JSArray(JS[] args) { super(args.length); addAll(args); }
+ public JSArray(JS arg) { super(1); add(arg); }
public JS unclone() { return this; }
public JS.Enumeration keys() throws JSExn {
"arrays only support positive integer keys, can not use: "+JSU.str(key));
int i = ((JSNumber.I)key).toInt();
if (i < 0) throw new JSExn("arrays can not use negative integer keys "+i);
- size(i + 1); while (size() < i) add(null);
+ if (size() < i+1) size(i + 1);
+ //while (size() < i) add(null);
set(i, val);
}
public void addTrap(JS k, JS f) throws JSExn { throw new JSExn("arrays do not support traps"); }
public void delTrap(JS k, JS f) throws JSExn { throw new JSExn("arrays do not support traps"); }
- public JS.Trap getTrap(JS k) throws JSExn { throw new JSExn("arrays do not support traps"); }
+ public JS.Trap getTrap(JS k) throws JSExn { return null; }
/** FEATURE: move to specialised ArrayStore superclass. */
public void addAll(JS[] entries) { for (int i=0; i < entries.length; i++) add(entries[i]); }