summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cli/runtime/AFn.cs8
-rw-r--r--src/cli/runtime/Accessor.cs2
-rw-r--r--src/cli/runtime/IFn.cs2
-rw-r--r--src/cli/runtime/Keyword.cs2
-rw-r--r--src/cli/runtime/RT.cs8
-rw-r--r--src/cli/runtime/Reflector.cs6
-rw-r--r--src/cli/runtime/RestFn0.cs4
-rw-r--r--src/cli/runtime/RestFn1.cs4
-rw-r--r--src/cli/runtime/RestFn2.cs4
-rw-r--r--src/cli/runtime/RestFn3.cs4
-rw-r--r--src/cli/runtime/RestFn4.cs4
-rw-r--r--src/cli/runtime/RestFn5.cs4
-rw-r--r--src/cli/runtime/Var.cs2
-rw-r--r--src/jvm/clojure/lang/AFn.java4
-rw-r--r--src/jvm/clojure/lang/Accessor.java2
-rw-r--r--src/jvm/clojure/lang/IFn.java2
-rw-r--r--src/jvm/clojure/lang/Keyword.java2
-rw-r--r--src/jvm/clojure/lang/RT.java8
-rw-r--r--src/jvm/clojure/lang/Reflector.java18
-rw-r--r--src/jvm/clojure/lang/RestFn0.java4
-rw-r--r--src/jvm/clojure/lang/RestFn1.java4
-rw-r--r--src/jvm/clojure/lang/RestFn2.java4
-rw-r--r--src/jvm/clojure/lang/RestFn3.java4
-rw-r--r--src/jvm/clojure/lang/RestFn4.java4
-rw-r--r--src/jvm/clojure/lang/RestFn5.java4
-rw-r--r--src/jvm/clojure/lang/Var.java2
26 files changed, 68 insertions, 48 deletions
diff --git a/src/cli/runtime/AFn.cs b/src/cli/runtime/AFn.cs
index 7003b3e8..a14b7cb9 100644
--- a/src/cli/runtime/AFn.cs
+++ b/src/cli/runtime/AFn.cs
@@ -47,9 +47,9 @@ virtual public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4
/*throws Exception*/
{
return throwArity();
- }
-
-virtual public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+ }
+
+ virtual public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, params Object[] args)
/*throws Exception*/
{
return throwArity();
@@ -96,7 +96,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) /*throws Exception*/
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
- , arglist.rest());
+ , RT.seqToArray(arglist.rest()));
}
}
diff --git a/src/cli/runtime/Accessor.cs b/src/cli/runtime/Accessor.cs
index 618e8ef1..cab3b8b3 100644
--- a/src/cli/runtime/Accessor.cs
+++ b/src/cli/runtime/Accessor.cs
@@ -20,7 +20,7 @@ public Object invoke() /*throws Exception*/ {
return AFn.throwArity();
} /** * Indexer implements IFn for attr access * This single arg version is the getter * @param tld * @param obj - must be AMap * @return the value of the attr or nil if not found * @throws Exception */ public Object invoke( Object obj) //throws Exception {
- return Reflector.invokeInstanceMember(memberName, obj); } /** * Indexer implements IFn for attr access * This two arg version is the setter * @param tld * @param obj - must be AMap * @param val * @return val * @throws Exception */ public Object invoke( Object obj, Object val) //throws Exception { return Reflector.invokeInstanceMember(memberName,obj,val); } public Object invoke( Object arg1, Object arg2, Object arg3) //throws Exception { return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3); } public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) //throws Exception { return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3,arg4); } public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) //throws Exception { return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3,arg4,arg5); } public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args) //throws Exception { return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3,arg4,arg5,args); }
+ return Reflector.invokeInstanceMember(memberName, obj); } /** * Indexer implements IFn for attr access * This two arg version is the setter * @param tld * @param obj - must be AMap * @param val * @return val * @throws Exception */ public Object invoke( Object obj, Object val) //throws Exception { return Reflector.invokeInstanceMember(memberName,obj,val); } public Object invoke( Object arg1, Object arg2, Object arg3) //throws Exception { return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3); } public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) //throws Exception { return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3,arg4); } public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) //throws Exception { return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3,arg4,arg5); } public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, params Object[] args) //throws Exception { return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3,arg4,arg5,args); }
public Object applyTo( ISeq arglist) /*throws Exception*/ {
return AFn.applyToHelper(this, arglist);
diff --git a/src/cli/runtime/IFn.cs b/src/cli/runtime/IFn.cs
index bc6c60e6..b2fd7c7e 100644
--- a/src/cli/runtime/IFn.cs
+++ b/src/cli/runtime/IFn.cs
@@ -30,7 +30,7 @@ Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5)
/*throws Exception*/;
Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5,
- ISeq args) /*throws Exception*/;
+ params Object[] args) /*throws Exception*/;
Object applyTo( ISeq arglist) /*throws Exception*/;
}
diff --git a/src/cli/runtime/Keyword.cs b/src/cli/runtime/Keyword.cs
index 34c893d6..90e862b9 100644
--- a/src/cli/runtime/Keyword.cs
+++ b/src/cli/runtime/Keyword.cs
@@ -42,7 +42,7 @@ public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object
return AFn.throwArity();
}
-public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, params Object[] args)
/*throws Exception*/
{
return AFn.throwArity();
diff --git a/src/cli/runtime/RT.cs b/src/cli/runtime/RT.cs
index 8270a2c9..e3129c23 100644
--- a/src/cli/runtime/RT.cs
+++ b/src/cli/runtime/RT.cs
@@ -249,6 +249,14 @@ static public Cons arrayToList(Object[] a)
return ret;
}
+static public Object[] seqToArray(ISeq seq) {
+ int len = length(seq);
+ Object[] ret = new Object[len];
+ for(int i=0;seq != null;++i, seq = seq.rest())
+ ret[i] = seq.first();
+ return ret;
+}
+
static public int length(ISeq list)
{
int i = 0;
diff --git a/src/cli/runtime/Reflector.cs b/src/cli/runtime/Reflector.cs
index af547877..f28adc10 100644
--- a/src/cli/runtime/Reflector.cs
+++ b/src/cli/runtime/Reflector.cs
@@ -127,7 +127,11 @@ public static Object invokeInstanceMember(String name, Object target) //throws E
return prepRet(p.GetValue(target, new Object[]{boxArg(p.GetIndexParameters()[0].ParameterType,arg1)}));
p.SetValue(target,boxArg(p.PropertyType,arg1),null);
return arg1;
- } return invokeInstanceMethod(name, target, new Object[]{arg1}); } public static Object invokeInstanceMember(String name, Object target, Object arg1, Object arg2) //throws Exception { return invokeInstanceMethod(name, target, new Object[]{arg1, arg2}); } public static Object invokeInstanceMember(String name, Object target, Object arg1, Object arg2, Object arg3) //throws Exception { return invokeInstanceMethod(name, target, new Object[]{arg1, arg2, arg3}); } public static Object invokeInstanceMember(String name, Object target, Object arg1, Object arg2, Object arg3, Object arg4) //throws Exception { return invokeInstanceMethod(name, target, new Object[]{arg1, arg2, arg3, arg4}); } public static Object invokeInstanceMember(String name, Object target, Object arg1, Object arg2, Object arg3, Object arg4, ISeq arglist) //throws Exception { Object[] args = new Object[4 + RT.length(arglist)]; args[0] = arg1; args[1] = arg2; args[2] = arg3; args[3] = arg4; for(int i = 4; arglist != null; i++, arglist = arglist.rest()) args[i] = arglist.first(); return invokeInstanceMethod(name, target, args); }
+ } return invokeInstanceMethod(name, target, new Object[]{arg1}); } public static Object invokeInstanceMember(String name, Object target, Object arg1, Object arg2) //throws Exception { return invokeInstanceMethod(name, target, new Object[]{arg1, arg2}); } public static Object invokeInstanceMember(String name, Object target, Object arg1, Object arg2, Object arg3) //throws Exception { return invokeInstanceMethod(name, target, new Object[]{arg1, arg2, arg3}); } public static Object invokeInstanceMember(String name, Object target, Object arg1, Object arg2, Object arg3, Object arg4) //throws Exception { return invokeInstanceMethod(name, target, new Object[]{arg1, arg2, arg3, arg4}); } public static Object invokeInstanceMember(String name, Object target, Object arg1, Object arg2, Object arg3, Object arg4,
+ params Object[] arglist) //throws Exception { Object[] args = new Object[4 + arglist.Length]; args[0] = arg1; args[1] = arg2; args[2] = arg3; args[3] = arg4;
+ if (arglist.Length > 0)
+ Array.Copy(arglist, 0, args, 4, arglist.Length);
+ return invokeInstanceMethod(name, target, args); }
public static FieldInfo getField(Type t, string name,bool statics)
{
diff --git a/src/cli/runtime/RestFn0.cs b/src/cli/runtime/RestFn0.cs
index bdcc73f1..d440d924 100644
--- a/src/cli/runtime/RestFn0.cs
+++ b/src/cli/runtime/RestFn0.cs
@@ -56,10 +56,10 @@ override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg
return doInvoke( RT.list(arg1, arg2, arg3, arg4, arg5));
}
-override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, params Object[] args)
/*throws Exception*/
{
- return doInvoke( RT.listStar(arg1, arg2, arg3, arg4, arg5, args));
+ return doInvoke( RT.listStar(arg1, arg2, arg3, arg4, arg5, RT.seq(args)));
}
}
} \ No newline at end of file
diff --git a/src/cli/runtime/RestFn1.cs b/src/cli/runtime/RestFn1.cs
index b5d0d786..4a86be0b 100644
--- a/src/cli/runtime/RestFn1.cs
+++ b/src/cli/runtime/RestFn1.cs
@@ -59,10 +59,10 @@ override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg
return doInvoke( arg1, RT.list(arg2, arg3, arg4, arg5));
}
-override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, params Object[] args)
/*throws Exception*/
{
- return doInvoke( arg1, RT.listStar(arg2, arg3, arg4, arg5, args));
+ return doInvoke( arg1, RT.listStar(arg2, arg3, arg4, arg5, RT.seq(args)));
}
}
diff --git a/src/cli/runtime/RestFn2.cs b/src/cli/runtime/RestFn2.cs
index 8ec0e07b..dcaf6400 100644
--- a/src/cli/runtime/RestFn2.cs
+++ b/src/cli/runtime/RestFn2.cs
@@ -60,10 +60,10 @@ override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg
return doInvoke( arg1, arg2, RT.list(arg3, arg4, arg5));
}
-override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, params Object[] args)
/*throws Exception*/
{
- return doInvoke( arg1, arg2, RT.listStar(arg3, arg4, arg5, args));
+ return doInvoke( arg1, arg2, RT.listStar(arg3, arg4, arg5, RT.seq(args)));
}
}
}
diff --git a/src/cli/runtime/RestFn3.cs b/src/cli/runtime/RestFn3.cs
index 267a3e08..3775e997 100644
--- a/src/cli/runtime/RestFn3.cs
+++ b/src/cli/runtime/RestFn3.cs
@@ -62,10 +62,10 @@ override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg
return doInvoke( arg1, arg2, arg3, RT.list(arg4, arg5));
}
-override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, params Object[] args)
/*throws Exception*/
{
- return doInvoke( arg1, arg2, arg3, RT.listStar(arg4, arg5, args));
+ return doInvoke( arg1, arg2, arg3, RT.listStar(arg4, arg5, RT.seq(args)));
}
}
} \ No newline at end of file
diff --git a/src/cli/runtime/RestFn4.cs b/src/cli/runtime/RestFn4.cs
index c3c73323..7e534ca9 100644
--- a/src/cli/runtime/RestFn4.cs
+++ b/src/cli/runtime/RestFn4.cs
@@ -64,10 +64,10 @@ override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg
return doInvoke( arg1, arg2, arg3, arg4, RT.list(arg5));
}
-override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, params Object[] args)
/*throws Exception*/
{
- return doInvoke( arg1, arg2, arg3, arg4, RT.listStar(arg5, args));
+ return doInvoke( arg1, arg2, arg3, arg4, RT.listStar(arg5, RT.seq(args)));
}
}
}
diff --git a/src/cli/runtime/RestFn5.cs b/src/cli/runtime/RestFn5.cs
index 2ec32b64..bd3dcc67 100644
--- a/src/cli/runtime/RestFn5.cs
+++ b/src/cli/runtime/RestFn5.cs
@@ -68,10 +68,10 @@ override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg
return doInvoke( arg1, arg2, arg3, arg4, arg5, null);
}
-override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, params Object[] args)
/*throws Exception*/
{
- return doInvoke( arg1, arg2, arg3, arg4, arg5, args);
+ return doInvoke( arg1, arg2, arg3, arg4, arg5, RT.seq(args));
}
}
}
diff --git a/src/cli/runtime/Var.cs b/src/cli/runtime/Var.cs
index f62d8365..9da1ef31 100644
--- a/src/cli/runtime/Var.cs
+++ b/src/cli/runtime/Var.cs
@@ -52,5 +52,5 @@ Binding getThreadBinding() {
else
newtb = tb.put(thread, b);
} while (tb != Interlocked.CompareExchange(ref threadBindings, newtb, tb));
-} override public Object invoke() /*throws Exception*/ { return fn.invoke(); } override public Object invoke( Object arg1) /*throws Exception*/ { return fn.invoke(arg1); } override public Object invoke( Object arg1, Object arg2) /*throws Exception*/ { return fn.invoke(arg1,arg2); } override public Object invoke( Object arg1, Object arg2, Object arg3) /*throws Exception*/ { return fn.invoke(arg1,arg2,arg3); } override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/ { return fn.invoke(arg1,arg2,arg3,arg4); } override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) /*throws Exception*/ { return fn.invoke(arg1,arg2,arg3,arg4,arg5); } override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args) /*throws Exception*/ { return fn.invoke(arg1,arg2,arg3,arg4,arg5,args); } }
+} override public Object invoke() /*throws Exception*/ { return fn.invoke(); } override public Object invoke( Object arg1) /*throws Exception*/ { return fn.invoke(arg1); } override public Object invoke( Object arg1, Object arg2) /*throws Exception*/ { return fn.invoke(arg1,arg2); } override public Object invoke( Object arg1, Object arg2, Object arg3) /*throws Exception*/ { return fn.invoke(arg1,arg2,arg3); } override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/ { return fn.invoke(arg1,arg2,arg3,arg4); } override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) /*throws Exception*/ { return fn.invoke(arg1,arg2,arg3,arg4,arg5); } override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, params Object[] args) /*throws Exception*/ { return fn.invoke(arg1,arg2,arg3,arg4,arg5,args); } }
}
diff --git a/src/jvm/clojure/lang/AFn.java b/src/jvm/clojure/lang/AFn.java
index c543bab6..cac16066 100644
--- a/src/jvm/clojure/lang/AFn.java
+++ b/src/jvm/clojure/lang/AFn.java
@@ -45,7 +45,7 @@ public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object
return throwArity();
}
-public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object... args)
throws Exception
{
return throwArity();
@@ -90,7 +90,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
- , arglist.rest());
+ , RT.seqToArray(arglist.rest()));
}
}
diff --git a/src/jvm/clojure/lang/Accessor.java b/src/jvm/clojure/lang/Accessor.java
index 58ec3d24..450e7633 100644
--- a/src/jvm/clojure/lang/Accessor.java
+++ b/src/jvm/clojure/lang/Accessor.java
@@ -68,7 +68,7 @@ public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object
return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3,arg4,arg5);
}
-public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object... args)
throws Exception
{
return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3,arg4,arg5,args);
diff --git a/src/jvm/clojure/lang/IFn.java b/src/jvm/clojure/lang/IFn.java
index e2b6a4f5..e6f9b474 100644
--- a/src/jvm/clojure/lang/IFn.java
+++ b/src/jvm/clojure/lang/IFn.java
@@ -28,7 +28,7 @@ public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object
throws Exception;
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5,
- ISeq args) throws Exception;
+ Object... args) throws Exception;
public Object applyTo(ISeq arglist) throws Exception;
}
diff --git a/src/jvm/clojure/lang/Keyword.java b/src/jvm/clojure/lang/Keyword.java
index d1e1edb1..0062db2f 100644
--- a/src/jvm/clojure/lang/Keyword.java
+++ b/src/jvm/clojure/lang/Keyword.java
@@ -75,7 +75,7 @@ public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object
return AFn.throwArity();
}
-public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object... args)
throws Exception
{
return AFn.throwArity();
diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java
index da66e970..a9b074a7 100644
--- a/src/jvm/clojure/lang/RT.java
+++ b/src/jvm/clojure/lang/RT.java
@@ -251,6 +251,14 @@ static public Cons arrayToList(Object[] a) throws Exception {
return ret;
}
+static public Object[] seqToArray(ISeq seq) throws Exception {
+ int len = length(seq);
+ Object[] ret = new Object[len];
+ for(int i=0;seq != null;++i, seq = seq.rest())
+ ret[i] = seq.first();
+ return ret;
+}
+
static public int length(ISeq list) throws Exception {
int i = 0;
for(ISeq c = list; c != null; c = c.rest())
diff --git a/src/jvm/clojure/lang/Reflector.java b/src/jvm/clojure/lang/Reflector.java
index c4eb9d7e..13d9bcd3 100644
--- a/src/jvm/clojure/lang/Reflector.java
+++ b/src/jvm/clojure/lang/Reflector.java
@@ -167,17 +167,17 @@ public static Object invokeInstanceMember(String name, Object target, Object arg
public static Object invokeInstanceMember(String name, Object target, Object arg1, Object arg2, Object arg3,
Object arg4,
- ISeq arglist)
+ Object... args)
throws Exception
{
- Object[] args = new Object[4 + RT.length(arglist)];
- args[0] = arg1;
- args[1] = arg2;
- args[2] = arg3;
- args[3] = arg4;
- for(int i = 4; arglist != null; i++, arglist = arglist.rest())
- args[i] = arglist.first();
- return invokeInstanceMethod(name, target, args);
+ Object[] arguments = new Object[4 + args.length];
+ arguments[0] = arg1;
+ arguments[1] = arg2;
+ arguments[2] = arg3;
+ arguments[3] = arg4;
+ if(args.length > 0)
+ System.arraycopy(args, 0, arguments, 4, args.length);
+ return invokeInstanceMethod(name, target, arguments);
}
diff --git a/src/jvm/clojure/lang/RestFn0.java b/src/jvm/clojure/lang/RestFn0.java
index 914b02c2..c3d2b355 100644
--- a/src/jvm/clojure/lang/RestFn0.java
+++ b/src/jvm/clojure/lang/RestFn0.java
@@ -52,9 +52,9 @@ public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object
return doInvoke( RT.list(arg1, arg2, arg3, arg4, arg5));
}
-public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object... args)
throws Exception
{
- return doInvoke( RT.listStar(arg1, arg2, arg3, arg4, arg5, args));
+ return doInvoke( RT.listStar(arg1, arg2, arg3, arg4, arg5, RT.seq(args)));
}
}
diff --git a/src/jvm/clojure/lang/RestFn1.java b/src/jvm/clojure/lang/RestFn1.java
index 3f846893..7f87d74c 100644
--- a/src/jvm/clojure/lang/RestFn1.java
+++ b/src/jvm/clojure/lang/RestFn1.java
@@ -56,10 +56,10 @@ public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object
return doInvoke( arg1, RT.list(arg2, arg3, arg4, arg5));
}
-public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object... args)
throws Exception
{
- return doInvoke( arg1, RT.listStar(arg2, arg3, arg4, arg5, args));
+ return doInvoke( arg1, RT.listStar(arg2, arg3, arg4, arg5, RT.seq(args)));
}
}
diff --git a/src/jvm/clojure/lang/RestFn2.java b/src/jvm/clojure/lang/RestFn2.java
index b65bc28e..53299931 100644
--- a/src/jvm/clojure/lang/RestFn2.java
+++ b/src/jvm/clojure/lang/RestFn2.java
@@ -57,10 +57,10 @@ public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object
return doInvoke( arg1, arg2, RT.list(arg3, arg4, arg5));
}
-public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object... args)
throws Exception
{
- return doInvoke( arg1, arg2, RT.listStar(arg3, arg4, arg5, args));
+ return doInvoke( arg1, arg2, RT.listStar(arg3, arg4, arg5, RT.seq(args)));
}
}
diff --git a/src/jvm/clojure/lang/RestFn3.java b/src/jvm/clojure/lang/RestFn3.java
index 7bba686d..9cdcbbb9 100644
--- a/src/jvm/clojure/lang/RestFn3.java
+++ b/src/jvm/clojure/lang/RestFn3.java
@@ -59,9 +59,9 @@ public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object
return doInvoke( arg1, arg2, arg3, RT.list(arg4, arg5));
}
-public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object... args)
throws Exception
{
- return doInvoke( arg1, arg2, arg3, RT.listStar(arg4, arg5, args));
+ return doInvoke( arg1, arg2, arg3, RT.listStar(arg4, arg5, RT.seq(args)));
}
}
diff --git a/src/jvm/clojure/lang/RestFn4.java b/src/jvm/clojure/lang/RestFn4.java
index d8518d41..b65c312d 100644
--- a/src/jvm/clojure/lang/RestFn4.java
+++ b/src/jvm/clojure/lang/RestFn4.java
@@ -61,10 +61,10 @@ public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object
return doInvoke( arg1, arg2, arg3, arg4, RT.list(arg5));
}
-public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object... args)
throws Exception
{
- return doInvoke( arg1, arg2, arg3, arg4, RT.listStar(arg5, args));
+ return doInvoke( arg1, arg2, arg3, arg4, RT.listStar(arg5, RT.seq(args)));
}
}
diff --git a/src/jvm/clojure/lang/RestFn5.java b/src/jvm/clojure/lang/RestFn5.java
index 52c1d3ce..257d07a3 100644
--- a/src/jvm/clojure/lang/RestFn5.java
+++ b/src/jvm/clojure/lang/RestFn5.java
@@ -65,9 +65,9 @@ public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object
return doInvoke( arg1, arg2, arg3, arg4, arg5, null);
}
-public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object... args)
throws Exception
{
- return doInvoke( arg1, arg2, arg3, arg4, arg5, args);
+ return doInvoke( arg1, arg2, arg3, arg4, arg5, RT.seq(args));
}
}
diff --git a/src/jvm/clojure/lang/Var.java b/src/jvm/clojure/lang/Var.java
index afae0caa..a04c8f2a 100644
--- a/src/jvm/clojure/lang/Var.java
+++ b/src/jvm/clojure/lang/Var.java
@@ -134,7 +134,7 @@ public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object
return fn.invoke(arg1, arg2, arg3, arg4, arg5);
}
-public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
+public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object... args)
throws Exception {
return fn.invoke(arg1, arg2, arg3, arg4, arg5, args);
}