2003/06/16 08:03:15
[org.ibex.core.git] / src / org / xwt / js / ArrayImpl.java
index 49b98a0..37403bd 100644 (file)
@@ -11,45 +11,45 @@ class ArrayImpl extends JS.Obj {
     public ArrayImpl() { }
     public ArrayImpl(int size) { vec.setSize(size); }
     private static int intVal(Object o) {
-       if (o instanceof Number) {
-           int intVal = ((Number)o).intValue();
-           if (intVal == ((Number)o).doubleValue()) return intVal;
-           return Integer.MIN_VALUE;
-       }
-       if (!(o instanceof String)) return Integer.MIN_VALUE;
-       String s = (String)o;
-       for(int i=0; i<s.length(); i++) if (s.charAt(i) < '0' || s.charAt(i) > '9') return Integer.MIN_VALUE;
-       return Integer.parseInt(s);
+        if (o instanceof Number) {
+            int intVal = ((Number)o).intValue();
+            if (intVal == ((Number)o).doubleValue()) return intVal;
+            return Integer.MIN_VALUE;
+        }
+        if (!(o instanceof String)) return Integer.MIN_VALUE;
+        String s = (String)o;
+        for(int i=0; i<s.length(); i++) if (s.charAt(i) < '0' || s.charAt(i) > '9') return Integer.MIN_VALUE;
+        return Integer.parseInt(s);
     }
     public Object get(Object key) throws JS.Exn {
-       // FIXME: HACK!
-       if (key.equals("cascade")) return org.xwt.Trap.cascadeFunction;
-       if (key.equals("trapee")) return org.xwt.Trap.currentTrapee();
-       if (key.equals("length")) return new Long(vec.size());
-       int i = intVal(key);
-       if (i == Integer.MIN_VALUE) return super.get(key);
-       try {
-           return vec.elementAt(i);
-       } catch (ArrayIndexOutOfBoundsException e) {
-           return null;
-       }
+        // FIXME: HACK!
+        if (key.equals("cascade")) return org.xwt.Trap.cascadeFunction;
+        if (key.equals("trapee")) return org.xwt.Trap.currentTrapee();
+        if (key.equals("length")) return new Long(vec.size());
+        int i = intVal(key);
+        if (i == Integer.MIN_VALUE) return super.get(key);
+        try {
+            return vec.elementAt(i);
+        } catch (ArrayIndexOutOfBoundsException e) {
+            return null;
+        }
     }
     public void put(Object key, Object val) {
-       if (key.equals("length")) vec.setSize(toNumber(val).intValue());
-       int i = intVal(key);
-       if (i == Integer.MIN_VALUE) super.put(key, val);
-       else {
-           if (i >= vec.size()) vec.setSize(i+1);
-           vec.setElementAt(val, i);
-       }
+        if (key.equals("length")) vec.setSize(toNumber(val).intValue());
+        int i = intVal(key);
+        if (i == Integer.MIN_VALUE) super.put(key, val);
+        else {
+            if (i >= vec.size()) vec.setSize(i+1);
+            vec.setElementAt(val, i);
+        }
     }
     public Object[] keys() {
-       Object[] sup = super.keys();
-       Object[] ret = new Object[vec.size() + 1 + sup.length];
-       System.arraycopy(sup, 0, ret, vec.size(), sup.length);
-       for(int i=0; i<vec.size(); i++) ret[i] = new Integer(i);
-       ret[vec.size()] = "length";
-       return ret;
+        Object[] sup = super.keys();
+        Object[] ret = new Object[vec.size() + 1 + sup.length];
+        System.arraycopy(sup, 0, ret, vec.size(), sup.length);
+        for(int i=0; i<vec.size(); i++) ret[i] = new Integer(i);
+        ret[vec.size()] = "length";
+        return ret;
     }
     public void setSize(int i) { vec.setSize(i); }
     public int length() { return vec.size(); }