renamed Script to JSU
[org.ibex.js.git] / src / org / ibex / js / JSArray.java
index ae2478f..8e2fdd2 100644 (file)
@@ -22,12 +22,12 @@ class JSArray extends Basket.Array implements JS, Basket.CompareFunc {
         return new Enumeration(null) {
             private int n = 0;
             public boolean _hasNext() { return n < size(); }
-            public JS _next() { return Script.N(n++); }
+            public JS _next() { return JSU.N(n++); }
         };
     }
     public JS get(JS key) throws JSExn {
         if (key == null || !(key instanceof JSNumber.I)) {
-            //#switch(Script.str(key))
+            //#switch(JSU.str(key))
             case "pop": return METHOD;
             case "reverse": return METHOD;
             case "toString": return METHOD;
@@ -38,17 +38,17 @@ class JSArray extends Basket.Array implements JS, Basket.CompareFunc {
             case "push": return METHOD;
             case "unshift": return METHOD;
             case "splice": return METHOD;
-            case "length": return Script.N(size());
+            case "length": return JSU.N(size());
             //#end
-            throw new JSExn("arrays only support positive integer keys, can not use: "+Script.str(key));
+            throw new JSExn("arrays only support positive integer keys, can not use: "+JSU.str(key));
         }
         return (JS)get(((JSNumber.I)key).toInt());
     }
     public void put(JS key, JS val) throws JSExn {
-        if (Script.str(key).equals("length")) { setSize(Script.toInt(val)); }
+        if (JSU.str(key).equals("length")) { setSize(JSU.toInt(val)); }
 
         if (key == null || !(key instanceof JSNumber.I)) throw new JSExn(
-            "arrays only support positive integer keys, can not use: "+Script.str(key));
+            "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);
@@ -69,25 +69,25 @@ class JSArray extends Basket.Array implements JS, Basket.CompareFunc {
     public void pause() throws NotPausableException { throw new NotPausableException(); }
     public JS call(JS[] args) throws JSExn { throw new JSExn("can not call an array as a function"); }
     public JS call(JS method, JS[] args) throws JSExn {
-        //#switch(Script.str(method))
+        //#switch(JSU.str(method))
         case "pop": return size() == 0 ? null : (JS)remove(size() - 1);
-        case "push": addAll(args); return Script.N(size());
+        case "push": addAll(args); return JSU.N(size());
         case "reverse": reverse(); return this;
         case "toString": return join(",");
         case "shift": return size() == 0 ? null : (JS)remove(0);
-        case "join": return join(args.length == 0 ? "," : Script.str(args[0]));
+        case "join": return join(args.length == 0 ? "," : JSU.str(args[0]));
         case "sort": return sort(args.length == 0 ? null : args[0]);
         case "slice":
-            int start = Script.toInt(args.length < 1 ? null : args[0]);
-            int end = args.length < 2 ? size() : Script.toInt(args[1]);
+            int start = JSU.toInt(args.length < 1 ? null : args[0]);
+            int end = args.length < 2 ? size() : JSU.toInt(args[1]);
             return slice(start, end);
         case "unshift":
             for (int i=0; i < args.length; i++) add(i, args[i]);
-            return Script.N(size());
+            return JSU.N(size());
         case "splice": return splice(args);
         //#end
 
-        throw new JSExn("arrays have no function: "+Script.str(method));
+        throw new JSExn("arrays have no function: "+JSU.str(method));
     }
 
     public JS putAndTriggerTraps(JS key, JS val) throws JSExn { put(key, val); return val; }
@@ -112,16 +112,16 @@ class JSArray extends Basket.Array implements JS, Basket.CompareFunc {
 
     private JS join(String sep) throws JSExn {
         int length = size();
-        if(length == 0) return Script.S("");
+        if(length == 0) return JSU.S("");
         StringBuffer sb = new StringBuffer(64);
         int i=0;
         while(true) {
             JS o = (JS)get(i);
-            if(o != null) sb.append(Script.toString(o));
+            if(o != null) sb.append(JSU.toString(o));
             if(++i == length) break;
             sb.append(sep);
         }
-        return Script.S(sb.toString());
+        return JSU.S(sb.toString());
     }
  
     private JS slice(int start, int end) {
@@ -140,8 +140,8 @@ class JSArray extends Basket.Array implements JS, Basket.CompareFunc {
 
     private JS splice(JS[] args) throws JSExn {
         int oldLength = size();
-        int start = Script.toInt(args.length < 1 ? null : args[0]);
-        int deleteCount = Script.toInt(args.length < 2 ? null : args[1]);
+        int start = JSU.toInt(args.length < 1 ? null : args[0]);
+        int deleteCount = JSU.toInt(args.length < 2 ? null : args[1]);
         int newCount = args.length - 2;
         if(newCount < 0) newCount = 0;
         if(start < 0) start = oldLength+start;
@@ -170,7 +170,7 @@ class JSArray extends Basket.Array implements JS, Basket.CompareFunc {
 
     private static final Basket.CompareFunc defaultSort = new Basket.CompareFunc() {
         public int compare(Object a, Object b) {
-            try { return Script.toString((JS)a).compareTo(Script.toString((JS)b)); }
+            try { return JSU.toString((JS)a).compareTo(JSU.toString((JS)b)); }
             catch (JSExn e) { throw new JSExn.Wrapper(e); }
         }
     };
@@ -188,7 +188,7 @@ class JSArray extends Basket.Array implements JS, Basket.CompareFunc {
     public int compare(Object a, Object b) throws JSExn.Wrapper {
         try {
             sortargs[0] = (JS)a; sortargs[1] = (JS)b;
-            return Script.toInt(sort.call(sortargs));
+            return JSU.toInt(sort.call(sortargs));
         } catch (JSExn e) { throw new JSExn.Wrapper(e);
         } finally { sortargs[0] = null; sortargs[1] = null; }
     }