diff options
author | Rich Hickey <richhickey@gmail.com> | 2009-11-28 13:48:18 -0500 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2009-11-28 13:48:18 -0500 |
commit | 4d98e904d2802a6630eeb4d2e5429c7e9c3fd638 (patch) | |
tree | 0cac42c790352c63fb338d356973327d722e2b3b | |
parent | 6144e64432dde85838703371dd1fb1d47e7c6e31 (diff) |
added some manual locals clearing to AFn and RestFn
-rw-r--r-- | src/jvm/clojure/lang/AFn.java | 47 | ||||
-rw-r--r-- | src/jvm/clojure/lang/RestFn.java | 132 | ||||
-rw-r--r-- | src/jvm/clojure/lang/Util.java | 8 |
3 files changed, 116 insertions, 71 deletions
diff --git a/src/jvm/clojure/lang/AFn.java b/src/jvm/clojure/lang/AFn.java index e2646ade..9a86cd2a 100644 --- a/src/jvm/clojure/lang/AFn.java +++ b/src/jvm/clojure/lang/AFn.java @@ -161,37 +161,40 @@ public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object } public Object applyTo(ISeq arglist) throws Exception{ - return applyToHelper(this, arglist); + return applyToHelper(this, Util.ret1(arglist,arglist = null)); } static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ switch(RT.boundedLength(arglist, 20)) { case 0: + arglist = null; return ifn.invoke(); case 1: - return ifn.invoke(arglist.first()); + Object a1 = arglist.first(); + arglist = null; + return ifn.invoke(a1); case 2: return ifn.invoke(arglist.first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 3: return ifn.invoke(arglist.first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 4: return ifn.invoke(arglist.first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 5: return ifn.invoke(arglist.first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 6: return ifn.invoke(arglist.first() @@ -199,7 +202,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 7: return ifn.invoke(arglist.first() @@ -208,7 +211,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 8: return ifn.invoke(arglist.first() @@ -218,7 +221,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 9: return ifn.invoke(arglist.first() @@ -229,7 +232,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 10: return ifn.invoke(arglist.first() @@ -241,7 +244,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 11: return ifn.invoke(arglist.first() @@ -254,7 +257,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 12: return ifn.invoke(arglist.first() @@ -268,7 +271,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 13: return ifn.invoke(arglist.first() @@ -283,7 +286,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 14: return ifn.invoke(arglist.first() @@ -299,7 +302,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 15: return ifn.invoke(arglist.first() @@ -316,7 +319,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 16: return ifn.invoke(arglist.first() @@ -334,7 +337,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 17: return ifn.invoke(arglist.first() @@ -353,7 +356,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 18: return ifn.invoke(arglist.first() @@ -373,7 +376,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 19: return ifn.invoke(arglist.first() @@ -394,7 +397,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); case 20: return ifn.invoke(arglist.first() @@ -416,7 +419,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , (arglist = arglist.next()).first() + , Util.ret1((arglist = arglist.next()).first(),arglist = null) ); default: return ifn.invoke(arglist.first() @@ -439,7 +442,7 @@ static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception{ , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() , (arglist = arglist.next()).first() - , RT.seqToArray(arglist.next())); + , RT.seqToArray(Util.ret1(arglist.next(),arglist = null))); } } diff --git a/src/jvm/clojure/lang/RestFn.java b/src/jvm/clojure/lang/RestFn.java index c0ba6262..192b5bfb 100644 --- a/src/jvm/clojure/lang/RestFn.java +++ b/src/jvm/clojure/lang/RestFn.java @@ -130,37 +130,37 @@ protected Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Ob public Object applyTo(ISeq args) throws Exception{
if(RT.boundedLength(args, getRequiredArity()) <= getRequiredArity())
{
- return AFn.applyToHelper(this, args);
+ return AFn.applyToHelper(this, Util.ret1(args,args = null));
}
switch(getRequiredArity())
{
case 0:
- return doInvoke(args);
+ return doInvoke(Util.ret1(args,args = null));
case 1:
return doInvoke(args.first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 2:
return doInvoke(args.first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 3:
return doInvoke(args.first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 4:
return doInvoke(args.first()
, (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 5:
return doInvoke(args.first()
, (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 6:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -168,7 +168,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 7:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -177,7 +177,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 8:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -187,7 +187,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 9:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -198,7 +198,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 10:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -210,7 +210,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 11:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -223,7 +223,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 12:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -237,7 +237,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 13:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -252,7 +252,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 14:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -268,7 +268,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 15:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -285,7 +285,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 16:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -303,7 +303,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 17:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -322,7 +322,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 18:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -342,7 +342,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 19:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -363,7 +363,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
case 20:
return doInvoke(args.first()
, (args = args.next()).first()
@@ -385,7 +385,7 @@ public Object applyTo(ISeq args) throws Exception{ , (args = args.next()).first()
, (args = args.next()).first()
, (args = args.next()).first()
- , args.next());
+ , Util.ret1(args.next(),args=null));
}
return throwArity();
@@ -406,9 +406,9 @@ public Object invoke(Object arg1) throws Exception{ switch(getRequiredArity())
{
case 0:
- return doInvoke(ArraySeq.create(arg1));
+ return doInvoke(ArraySeq.create(Util.ret1(arg1, arg1 = null)));
case 1:
- return doInvoke(arg1, null);
+ return doInvoke(Util.ret1(arg1, arg1 = null), null);
default:
return throwArity();
}
@@ -419,11 +419,11 @@ public Object invoke(Object arg1, Object arg2) throws Exception{ switch(getRequiredArity())
{
case 0:
- return doInvoke(ArraySeq.create(arg1, arg2));
+ return doInvoke(ArraySeq.create(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null)));
case 1:
- return doInvoke(arg1, ArraySeq.create(arg2));
+ return doInvoke(Util.ret1(arg1, arg1 = null), ArraySeq.create(Util.ret1(arg2, arg2 = null)));
case 2:
- return doInvoke(arg1, arg2, null);
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null), null);
default:
return throwArity();
}
@@ -434,13 +434,17 @@ public Object invoke(Object arg1, Object arg2, Object arg3) throws Exception{ switch(getRequiredArity())
{
case 0:
- return doInvoke(ArraySeq.create(arg1, arg2, arg3));
+ return doInvoke(ArraySeq.create(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null),
+ Util.ret1(arg3, arg3 = null)));
case 1:
- return doInvoke(arg1, ArraySeq.create(arg2, arg3));
+ return doInvoke(Util.ret1(arg1, arg1 = null),
+ ArraySeq.create(Util.ret1(arg2, arg2 = null), Util.ret1(arg3, arg3 = null)));
case 2:
- return doInvoke(arg1, arg2, ArraySeq.create(arg3));
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null),
+ ArraySeq.create(Util.ret1(arg3, arg3 = null)));
case 3:
- return doInvoke(arg1, arg2, arg3, null);
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null), Util.ret1(arg3, arg3 = null),
+ null);
default:
return throwArity();
}
@@ -451,15 +455,21 @@ public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4) throws switch(getRequiredArity())
{
case 0:
- return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4));
+ return doInvoke(ArraySeq.create(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null),
+ Util.ret1(arg3, arg3 = null), Util.ret1(arg4, arg4 = null)));
case 1:
- return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4));
+ return doInvoke(Util.ret1(arg1, arg1 = null),
+ ArraySeq.create(Util.ret1(arg2, arg2 = null), Util.ret1(arg3, arg3 = null),
+ Util.ret1(arg4, arg4 = null)));
case 2:
- return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4));
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null),
+ ArraySeq.create(Util.ret1(arg3, arg3 = null), Util.ret1(arg4, arg4 = null)));
case 3:
- return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4));
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null), Util.ret1(arg3, arg3 = null),
+ ArraySeq.create(Util.ret1(arg4, arg4 = null)));
case 4:
- return doInvoke(arg1, arg2, arg3, arg4, null);
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null), Util.ret1(arg3, arg3 = null),
+ Util.ret1(arg4, arg4 = null), null);
default:
return throwArity();
}
@@ -470,17 +480,26 @@ public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object switch(getRequiredArity())
{
case 0:
- return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5));
+ return doInvoke(ArraySeq.create(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null),
+ Util.ret1(arg3, arg3 = null), Util.ret1(arg4, arg4 = null),
+ Util.ret1(arg5, arg5 = null)));
case 1:
- return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5));
+ return doInvoke(Util.ret1(arg1, arg1 = null),
+ ArraySeq.create(Util.ret1(arg2, arg2 = null), Util.ret1(arg3, arg3 = null),
+ Util.ret1(arg4, arg4 = null), Util.ret1(arg5, arg5 = null)));
case 2:
- return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5));
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null),
+ ArraySeq.create(Util.ret1(arg3, arg3 = null), Util.ret1(arg4, arg4 = null),
+ Util.ret1(arg5, arg5 = null)));
case 3:
- return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5));
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null), Util.ret1(arg3, arg3 = null),
+ ArraySeq.create(Util.ret1(arg4, arg4 = null), Util.ret1(arg5, arg5 = null)));
case 4:
- return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5));
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null), Util.ret1(arg3, arg3 = null),
+ Util.ret1(arg4, arg4 = null), ArraySeq.create(Util.ret1(arg5, arg5 = null)));
case 5:
- return doInvoke(arg1, arg2, arg3, arg4, arg5, null);
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null), Util.ret1(arg3, arg3 = null),
+ Util.ret1(arg4, arg4 = null), Util.ret1(arg5, arg5 = null), null);
default:
return throwArity();
}
@@ -491,19 +510,34 @@ public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object switch(getRequiredArity())
{
case 0:
- return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6));
+ return doInvoke(ArraySeq.create(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null),
+ Util.ret1(arg3, arg3 = null), Util.ret1(arg4, arg4 = null),
+ Util.ret1(arg5, arg5 = null), Util.ret1(arg6, arg6 = null)));
case 1:
- return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6));
+ return doInvoke(Util.ret1(arg1, arg1 = null),
+ ArraySeq.create(Util.ret1(arg2, arg2 = null), Util.ret1(arg3, arg3 = null),
+ Util.ret1(arg4, arg4 = null), Util.ret1(arg5, arg5 = null),
+ Util.ret1(arg6, arg6 = null)));
case 2:
- return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6));
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null),
+ ArraySeq.create(Util.ret1(arg3, arg3 = null), Util.ret1(arg4, arg4 = null),
+ Util.ret1(arg5, arg5 = null), Util.ret1(arg6, arg6 = null)));
case 3:
- return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6));
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null), Util.ret1(arg3, arg3 = null),
+ ArraySeq.create(Util.ret1(arg4, arg4 = null), Util.ret1(arg5, arg5 = null),
+ Util.ret1(arg6, arg6 = null)));
case 4:
- return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6));
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null), Util.ret1(arg3, arg3 = null),
+ Util.ret1(arg4, arg4 = null),
+ ArraySeq.create(Util.ret1(arg5, arg5 = null), Util.ret1(arg6, arg6 = null)));
case 5:
- return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6));
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null), Util.ret1(arg3, arg3 = null),
+ Util.ret1(arg4, arg4 = null), Util.ret1(arg5, arg5 = null),
+ ArraySeq.create(Util.ret1(arg6, arg6 = null)));
case 6:
- return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, null);
+ return doInvoke(Util.ret1(arg1, arg1 = null), Util.ret1(arg2, arg2 = null), Util.ret1(arg3, arg3 = null),
+ Util.ret1(arg4, arg4 = null), Util.ret1(arg5, arg5 = null), Util.ret1(arg6, arg6 = null),
+ null);
default:
return throwArity();
}
diff --git a/src/jvm/clojure/lang/Util.java b/src/jvm/clojure/lang/Util.java index 6dcdade0..16f850bb 100644 --- a/src/jvm/clojure/lang/Util.java +++ b/src/jvm/clojure/lang/Util.java @@ -81,4 +81,12 @@ static public boolean isInteger(Object x){ || x instanceof BigInteger; } +static public Object ret1(Object ret, Object nil){ + return ret; +} + +static public ISeq ret1(ISeq ret, Object nil){ + return ret; +} + } |