2003/09/04 06:37:17
[org.ibex.core.git] / src / org / xwt / js / JS.java
index be1fd2c..853a973 100644 (file)
@@ -78,8 +78,18 @@ public abstract class JS {
     public abstract Object get(Object key) throws JS.Exn; 
     public abstract void put(Object key, Object val) throws JS.Exn; 
     public abstract Object[] keys(); 
-    public abstract Object callMethod(Object method, JS.Array args, boolean justChecking);
-
+    public Object callMethod(Object method, Array args, boolean checkOnly) throws JS.Exn {
+       if(checkOnly) return Boolean.FALSE;
+       Object o = get(method);
+       if(o instanceof JS.Callable) {
+           return ((JS.Callable)o).call(args);
+       } else if(o == null) {
+           throw new JS.Exn("Attempted to call non-existent method: " + method);
+       } else {
+           throw new JS.Exn("Attempted to call a non-method: " +method);
+       }
+    }
+    
     public Number coerceToNumber() { return new Integer(0); }
     public String coerceToString() { throw new JS.Exn("tried to coerce a JavaScript object to a String"); }
     public boolean coerceToBoolean() { return true; }
@@ -104,17 +114,6 @@ public abstract class JS {
                 return new Internal.CallableStub(this,key);
             return entries.get(key);
         }
-        public Object callMethod(Object method, JS.Array args, boolean checkOnly) throws JS.Exn {
-            if(checkOnly) return Boolean.FALSE;
-            Object o = get(method);
-            if(o instanceof JS.Callable) {
-                return ((JS.Callable)o).call(args);
-            } else if(o == null) {
-                throw new JS.Exn("Attempted to call non-existent method: " + method);
-            } else {
-                throw new JS.Exn("Attempted to call a non-method: " +method);
-            }
-        }
     }
 
     /** An exception which can be thrown and caught by JavaScript code */