automatically try call(JS[]) if method
[org.ibex.js.git] / src / org / ibex / js / JS.java
index a338311..a727048 100644 (file)
@@ -93,10 +93,11 @@ public interface JS extends Pausable {
             "object cannot be called, class ["+ getClass().getName() +"]"); }
         public void pause() { throw new NotPausableException(); }
 
-        public JS call(JS[] args) throws JSExn { throw new JSExn(
-            "object cannot be called, class ["+ getClass().getName() +"]"); }
-        public JS call(JS method, JS[] args) throws JSExn { throw new JSExn(
-            "method not found: " + JSU.str(method)); }
+        public JS call(JS[] args) throws JSExn { throw new JSExn( "object cannot be called, class ["+ getClass().getName() +"]"); }
+        public JS call(JS method, JS[] args) throws JSExn {
+            if (method == null) return call(args);
+            throw new JSExn("method not found: " + JSU.str(method) + " class="+this.getClass().getName());
+        }
         public String[] getFormalArgs() { return emptystr; }
 
         public void declare(JS key) throws JSExn { throw new JSExn(