diff options
Diffstat (limited to 'src')
29 files changed, 322 insertions, 322 deletions
diff --git a/src/cli/runtime/AFn.cs b/src/cli/runtime/AFn.cs index 0b7ef7ca..14ffc43d 100644 --- a/src/cli/runtime/AFn.cs +++ b/src/cli/runtime/AFn.cs @@ -18,80 +18,80 @@ namespace org.clojure.runtime public class AFn : Obj , IFn
{ -virtual public Object invoke(ThreadLocalData tld) /*throws Exception*/ +virtual public Object invoke() /*throws Exception*/ { return throwArity(); } -virtual public Object invoke(ThreadLocalData tld, Object arg1) /*throws Exception*/ +virtual public Object invoke( Object arg1) /*throws Exception*/ { return throwArity(); } -virtual public Object invoke(ThreadLocalData tld, Object arg1, Object arg2) /*throws Exception*/ +virtual public Object invoke( Object arg1, Object arg2) /*throws Exception*/ { return throwArity(); } -virtual public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) /*throws Exception*/ +virtual public Object invoke( Object arg1, Object arg2, Object arg3) /*throws Exception*/ { return throwArity(); } -virtual public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/ +virtual public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/ { return throwArity(); } -virtual public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +virtual public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) /*throws Exception*/ { return throwArity(); } -virtual public Object invoke(ThreadLocalData tld, 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, ISeq args) /*throws Exception*/ { return throwArity(); } -virtual public Object applyTo(ThreadLocalData tld, ISeq arglist) /*throws Exception*/ +virtual public Object applyTo( ISeq arglist) /*throws Exception*/ { -return applyToHelper(this,tld,arglist); +return applyToHelper(this,arglist); } -static public Object applyToHelper(IFn ifn,ThreadLocalData tld, ISeq arglist) /*throws Exception*/ +static public Object applyToHelper(IFn ifn, ISeq arglist) /*throws Exception*/ { switch(RT.boundedLength(arglist, 5)) { case 0:
- return ifn.invoke(tld); + return ifn.invoke(); case 1:
- return ifn.invoke(tld, arglist.first()); + return ifn.invoke( arglist.first()); case 2:
- return ifn.invoke(tld, arglist.first() + return ifn.invoke( arglist.first() , (arglist = arglist.rest()).first() ); case 3:
- return ifn.invoke(tld, arglist.first() + return ifn.invoke( arglist.first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() ); case 4:
- return ifn.invoke(tld, arglist.first() + return ifn.invoke( arglist.first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() ); case 5:
- return ifn.invoke(tld, arglist.first() + return ifn.invoke( arglist.first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() ); default:
- return ifn.invoke(tld, arglist.first() + return ifn.invoke( arglist.first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() diff --git a/src/cli/runtime/Accessor.cs b/src/cli/runtime/Accessor.cs index 5c6948db..295a452c 100644 --- a/src/cli/runtime/Accessor.cs +++ b/src/cli/runtime/Accessor.cs @@ -16,14 +16,14 @@ public class Accessor :Symbol, IFn {
String memberName;
internal Accessor(String name) :base(name)
{
memberName = name.Substring(1);
}
-public Object invoke(ThreadLocalData tld) /*throws Exception*/ {
+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(ThreadLocalData tld, Object obj) //throws Exception
{
+ }
/**
* 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(ThreadLocalData tld, Object obj, Object val) //throws Exception
{
return Reflector.invokeInstanceMember(memberName,obj,val);
}
public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) //throws Exception
{
return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3);
}
public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) //throws Exception
{
return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3,arg4);
}
public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5)
//throws Exception
{
return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3,arg4,arg5);
}
public Object invoke(ThreadLocalData tld, 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, ISeq args)
//throws Exception
{
return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3,arg4,arg5,args);
}
-public Object applyTo(ThreadLocalData tld, ISeq arglist) /*throws Exception*/ {
- return AFn.applyToHelper(this, tld, arglist);
+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 f2e86341..2b9f6447 100644 --- a/src/cli/runtime/IFn.cs +++ b/src/cli/runtime/IFn.cs @@ -16,22 +16,22 @@ namespace org.clojure.runtime { public interface IFn{ -Object invoke(ThreadLocalData tld) /*throws Exception*/; +Object invoke() /*throws Exception*/; -Object invoke(ThreadLocalData tld, Object arg1) /*throws Exception*/; +Object invoke( Object arg1) /*throws Exception*/; -Object invoke(ThreadLocalData tld, Object arg1, Object arg2) /*throws Exception*/; +Object invoke( Object arg1, Object arg2) /*throws Exception*/; -Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) /*throws Exception*/; +Object invoke( Object arg1, Object arg2, Object arg3) /*throws Exception*/; -Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/; +Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/; -Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) /*throws Exception*/; -Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, +Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args) /*throws Exception*/; -Object applyTo(ThreadLocalData tld, ISeq arglist) /*throws Exception*/; +Object applyTo( ISeq arglist) /*throws Exception*/; } } diff --git a/src/cli/runtime/IObj.cs b/src/cli/runtime/IObj.cs index d3e71ee8..9e43174f 100644 --- a/src/cli/runtime/IObj.cs +++ b/src/cli/runtime/IObj.cs @@ -13,8 +13,8 @@ namespace org.clojure.runtime {
interface IObj
{
- object put(ThreadLocalData tld, IComparable key, object val);
- object get(ThreadLocalData tld, IComparable key);
- bool has(ThreadLocalData tld, IComparable key);
+ object put( IComparable key, object val);
+ object get( IComparable key);
+ bool has( IComparable key);
}
}
diff --git a/src/cli/runtime/Keyword.cs b/src/cli/runtime/Keyword.cs index d4158540..ab5eb77c 100644 --- a/src/cli/runtime/Keyword.cs +++ b/src/cli/runtime/Keyword.cs @@ -19,37 +19,37 @@ namespace org.clojure.runtime public class Keyword : Symbol, IFn{ -internal Keyword(String name):base(name)
{
}
public Object invoke(ThreadLocalData tld) /*throws Exception*/ {
+internal Keyword(String name):base(name)
{
}
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
*/
public Object invoke(ThreadLocalData tld, Object obj) /*throws Exception*/
{
+}
/**
* 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
*/
public Object invoke( Object obj) /*throws Exception*/
{
if (obj == null)
return null;
- return ((IObj)obj).get(tld,this);
}
/**
* Indexer implements IFn for attr access
* This two arg version is the setter
* @param tld
* @param obj - must be AMap
* @param val
* @return val
*/
public Object invoke(ThreadLocalData tld, Object obj, Object val) /*throws Exception*/
{
return ((IObj)obj).put(tld,this,val);
} + return ((IObj)obj).get(this);
}
/**
* Indexer implements IFn for attr access
* This two arg version is the setter
* @param tld
* @param obj - must be AMap
* @param val
* @return val
*/
public Object invoke( Object obj, Object val) /*throws Exception*/
{
return ((IObj)obj).put(this,val);
} -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) /*throws Exception*/
+public Object invoke( Object arg1, Object arg2, Object arg3) /*throws Exception*/
{
return AFn.throwArity();
}
-public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/
+public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/
{
return AFn.throwArity();
}
-public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5)
+public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5)
/*throws Exception*/
{
return AFn.throwArity();
}
-public Object invoke(ThreadLocalData tld, 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, ISeq args)
/*throws Exception*/
{
return AFn.throwArity();
}
-public Object applyTo(ThreadLocalData tld, ISeq arglist) /*throws Exception*/ {
- return AFn.applyToHelper(this, tld, arglist);
+public Object applyTo( ISeq arglist) /*throws Exception*/ {
+ return AFn.applyToHelper(this, arglist);
} } }
\ No newline at end of file diff --git a/src/cli/runtime/Obj.cs b/src/cli/runtime/Obj.cs index 45c5edfa..6848ee30 100644 --- a/src/cli/runtime/Obj.cs +++ b/src/cli/runtime/Obj.cs @@ -22,7 +22,7 @@ public class Obj : IObj HybridDictionary attrs; public static int INITIAL_SIZE = 7;
-public Object put(ThreadLocalData tld, IComparable key, Object val) +public Object put( IComparable key, Object val) { if(attrs == null) attrs = new HybridDictionary(INITIAL_SIZE); @@ -30,14 +30,14 @@ public Object put(ThreadLocalData tld, IComparable key, Object val) return val; }
-public Object get(ThreadLocalData tld, IComparable key) +public Object get( IComparable key) { if(attrs == null) return null; return attrs[key]; }
-public bool has(ThreadLocalData tld, IComparable key)
+public bool has( IComparable key)
{
if (attrs == null)
return false;
diff --git a/src/cli/runtime/RestFn0.cs b/src/cli/runtime/RestFn0.cs index 7ef2dc4f..0ce9072c 100644 --- a/src/cli/runtime/RestFn0.cs +++ b/src/cli/runtime/RestFn0.cs @@ -18,48 +18,48 @@ namespace org.clojure.runtime public abstract class RestFn0 : AFn
{ -public abstract Object doInvoke(ThreadLocalData tld, ISeq rest) /*throws Exception*/; +public abstract Object doInvoke( ISeq rest) /*throws Exception*/; -override public Object applyTo(ThreadLocalData tld, ISeq arglist) /*throws Exception*/ +override public Object applyTo( ISeq arglist) /*throws Exception*/ { - return doInvoke(tld, arglist); + return doInvoke( arglist); } -override public Object invoke(ThreadLocalData tld) /*throws Exception*/ +override public Object invoke() /*throws Exception*/ { - return doInvoke(tld, null); + return doInvoke( null); } -override public Object invoke(ThreadLocalData tld, Object arg1) /*throws Exception*/ +override public Object invoke( Object arg1) /*throws Exception*/ { - return doInvoke(tld, RT.list(arg1)); + return doInvoke( RT.list(arg1)); } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2) /*throws Exception*/ +override public Object invoke( Object arg1, Object arg2) /*throws Exception*/ { - return doInvoke(tld, RT.list(arg1, arg2)); + return doInvoke( RT.list(arg1, arg2)); } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) /*throws Exception*/ +override public Object invoke( Object arg1, Object arg2, Object arg3) /*throws Exception*/ { - return doInvoke(tld, RT.list(arg1, arg2, arg3)); + return doInvoke( RT.list(arg1, arg2, arg3)); } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/ +override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/ { - return doInvoke(tld, RT.list(arg1, arg2, arg3, arg4)); + return doInvoke( RT.list(arg1, arg2, arg3, arg4)); } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) /*throws Exception*/ { - return doInvoke(tld, RT.list(arg1, arg2, arg3, arg4, arg5)); + return doInvoke( RT.list(arg1, arg2, arg3, arg4, arg5)); } -override public Object invoke(ThreadLocalData tld, 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, ISeq args) /*throws Exception*/ { - return doInvoke(tld, RT.listStar(arg1, arg2, arg3, arg4, arg5, args)); + return doInvoke( RT.listStar(arg1, arg2, arg3, arg4, arg5, args)); } } }
\ No newline at end of file diff --git a/src/cli/runtime/RestFn1.cs b/src/cli/runtime/RestFn1.cs index e61ecdd0..d5ea2c57 100644 --- a/src/cli/runtime/RestFn1.cs +++ b/src/cli/runtime/RestFn1.cs @@ -17,52 +17,52 @@ namespace org.clojure.runtime public abstract class RestFn1 : AFn{ -public abstract Object doInvoke(ThreadLocalData tld, Object arg1, ISeq rest) /*throws Exception*/; +public abstract Object doInvoke( Object arg1, ISeq rest) /*throws Exception*/; -override public Object applyTo(ThreadLocalData tld, ISeq arglist) /*throws Exception*/ +override public Object applyTo( ISeq arglist) /*throws Exception*/ {
switch (RT.boundedLength(arglist, 1))
{
case 0:
- return invoke(tld);
+ return invoke();
case 1:
- return invoke(tld, arglist.first());
+ return invoke( arglist.first());
default:
- return doInvoke(tld, arglist.first()
+ return doInvoke( arglist.first()
, arglist.rest());
}
} -override public Object invoke(ThreadLocalData tld, Object arg1) /*throws Exception*/ +override public Object invoke( Object arg1) /*throws Exception*/ { - return doInvoke(tld, arg1, null); + return doInvoke( arg1, null); } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2) /*throws Exception*/ +override public Object invoke( Object arg1, Object arg2) /*throws Exception*/ { - return doInvoke(tld, arg1, RT.list(arg2)); + return doInvoke( arg1, RT.list(arg2)); } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) /*throws Exception*/ +override public Object invoke( Object arg1, Object arg2, Object arg3) /*throws Exception*/ { - return doInvoke(tld, arg1, RT.list(arg2, arg3)); + return doInvoke( arg1, RT.list(arg2, arg3)); } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/ +override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/ { - return doInvoke(tld, arg1, RT.list(arg2, arg3, arg4)); + return doInvoke( arg1, RT.list(arg2, arg3, arg4)); } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) /*throws Exception*/ { - return doInvoke(tld, arg1, RT.list(arg2, arg3, arg4, arg5)); + return doInvoke( arg1, RT.list(arg2, arg3, arg4, arg5)); } -override public Object invoke(ThreadLocalData tld, 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, ISeq args) /*throws Exception*/ { - return doInvoke(tld, arg1, RT.listStar(arg2, arg3, arg4, arg5, args)); + return doInvoke( arg1, RT.listStar(arg2, arg3, arg4, arg5, args)); } } diff --git a/src/cli/runtime/RestFn2.cs b/src/cli/runtime/RestFn2.cs index 29d14761..1685f134 100644 --- a/src/cli/runtime/RestFn2.cs +++ b/src/cli/runtime/RestFn2.cs @@ -17,53 +17,53 @@ namespace org.clojure.runtime public abstract class RestFn2 : AFn{
- public abstract Object doInvoke(ThreadLocalData tld, Object arg1, Object arg2, ISeq rest) /*throws Exception*/; + public abstract Object doInvoke( Object arg1, Object arg2, ISeq rest) /*throws Exception*/; -override public Object applyTo(ThreadLocalData tld, ISeq arglist) /*throws Exception*/ +override public Object applyTo( ISeq arglist) /*throws Exception*/ {
switch (RT.boundedLength(arglist, 2))
{
case 0:
- return invoke(tld);
+ return invoke();
case 1:
- return invoke(tld, arglist.first());
+ return invoke( arglist.first());
case 2:
- return invoke(tld, arglist.first()
+ return invoke( arglist.first()
, (arglist = arglist.rest()).first()
);
default:
- return doInvoke(tld, arglist.first()
+ return doInvoke( arglist.first()
, (arglist = arglist.rest()).first()
, arglist.rest());
} } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2) /*throws Exception*/ +override public Object invoke( Object arg1, Object arg2) /*throws Exception*/ { - return doInvoke(tld, arg1, arg2, null); + return doInvoke( arg1, arg2, null); } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) /*throws Exception*/ +override public Object invoke( Object arg1, Object arg2, Object arg3) /*throws Exception*/ { - return doInvoke(tld, arg1, arg2, RT.list(arg3)); + return doInvoke( arg1, arg2, RT.list(arg3)); } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/ +override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/ { - return doInvoke(tld, arg1, arg2, RT.list(arg3, arg4)); + return doInvoke( arg1, arg2, RT.list(arg3, arg4)); } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) /*throws Exception*/ { - return doInvoke(tld, arg1, arg2, RT.list(arg3, arg4, arg5)); + return doInvoke( arg1, arg2, RT.list(arg3, arg4, arg5)); } -override public Object invoke(ThreadLocalData tld, 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, ISeq args) /*throws Exception*/ { - return doInvoke(tld, arg1, arg2, RT.listStar(arg3, arg4, arg5, args)); + return doInvoke( arg1, arg2, RT.listStar(arg3, arg4, arg5, args)); } } } diff --git a/src/cli/runtime/RestFn3.cs b/src/cli/runtime/RestFn3.cs index 3f7be0e2..303c7070 100644 --- a/src/cli/runtime/RestFn3.cs +++ b/src/cli/runtime/RestFn3.cs @@ -17,27 +17,27 @@ namespace org.clojure.runtime public abstract class RestFn3 : AFn{
- public abstract Object doInvoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, ISeq rest) /*throws Exception*/; + public abstract Object doInvoke( Object arg1, Object arg2, Object arg3, ISeq rest) /*throws Exception*/; -override public Object applyTo(ThreadLocalData tld, ISeq arglist) /*throws Exception*/ +override public Object applyTo( ISeq arglist) /*throws Exception*/ {
switch (RT.boundedLength(arglist, 3))
{
case 0:
- return invoke(tld);
+ return invoke();
case 1:
- return invoke(tld, arglist.first());
+ return invoke( arglist.first());
case 2:
- return invoke(tld, arglist.first()
+ return invoke( arglist.first()
, (arglist = arglist.rest()).first()
);
case 3:
- return invoke(tld, arglist.first()
+ return invoke( arglist.first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
);
default:
- return doInvoke(tld, arglist.first()
+ return doInvoke( arglist.first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
, arglist.rest());
@@ -46,26 +46,26 @@ override public Object applyTo(ThreadLocalData tld, ISeq arglist) /*throws Excep } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) /*throws Exception*/ +override public Object invoke( Object arg1, Object arg2, Object arg3) /*throws Exception*/ { - return doInvoke(tld, arg1, arg2, arg3,null); + return doInvoke( arg1, arg2, arg3,null); } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/ +override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/ { - return doInvoke(tld, arg1, arg2, arg3, RT.list(arg4)); + return doInvoke( arg1, arg2, arg3, RT.list(arg4)); } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) /*throws Exception*/ { - return doInvoke(tld, arg1, arg2, arg3, RT.list(arg4, arg5)); + return doInvoke( arg1, arg2, arg3, RT.list(arg4, arg5)); } -override public Object invoke(ThreadLocalData tld, 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, ISeq args) /*throws Exception*/ { - return doInvoke(tld, arg1, arg2, arg3, RT.listStar(arg4, arg5, args)); + return doInvoke( arg1, arg2, arg3, RT.listStar(arg4, arg5, args)); } } }
\ No newline at end of file diff --git a/src/cli/runtime/RestFn4.cs b/src/cli/runtime/RestFn4.cs index 29b0a21f..05e6cc67 100644 --- a/src/cli/runtime/RestFn4.cs +++ b/src/cli/runtime/RestFn4.cs @@ -17,34 +17,34 @@ namespace org.clojure.runtime public abstract class RestFn4 : AFn{
- public abstract Object doInvoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, ISeq rest) + public abstract Object doInvoke( Object arg1, Object arg2, Object arg3, Object arg4, ISeq rest) /*throws Exception*/; -override public Object applyTo(ThreadLocalData tld, ISeq arglist) /*throws Exception*/ +override public Object applyTo( ISeq arglist) /*throws Exception*/ {
switch (RT.boundedLength(arglist, 4))
{
case 0:
- return invoke(tld);
+ return invoke();
case 1:
- return invoke(tld, arglist.first());
+ return invoke( arglist.first());
case 2:
- return invoke(tld, arglist.first()
+ return invoke( arglist.first()
, (arglist = arglist.rest()).first()
);
case 3:
- return invoke(tld, arglist.first()
+ return invoke( arglist.first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
);
case 4:
- return invoke(tld, arglist.first()
+ return invoke( arglist.first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
);
default:
- return doInvoke(tld, arglist.first()
+ return doInvoke( arglist.first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
@@ -53,21 +53,21 @@ override public Object applyTo(ThreadLocalData tld, ISeq arglist) /*throws Excep } } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/ +override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/ { - return doInvoke(tld, arg1, arg2, arg3, arg4, null); + return doInvoke( arg1, arg2, arg3, arg4, null); } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) /*throws Exception*/ { - return doInvoke(tld, arg1, arg2, arg3, arg4, RT.list(arg5)); + return doInvoke( arg1, arg2, arg3, arg4, RT.list(arg5)); } -override public Object invoke(ThreadLocalData tld, 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, ISeq args) /*throws Exception*/ { - return doInvoke(tld, arg1, arg2, arg3, arg4, RT.listStar(arg5, args)); + return doInvoke( arg1, arg2, arg3, arg4, RT.listStar(arg5, args)); } } } diff --git a/src/cli/runtime/RestFn5.cs b/src/cli/runtime/RestFn5.cs index 74092dc0..337e7d1a 100644 --- a/src/cli/runtime/RestFn5.cs +++ b/src/cli/runtime/RestFn5.cs @@ -17,42 +17,42 @@ namespace org.clojure.runtime public abstract class RestFn5 : AFn{
- public abstract Object doInvoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, + public abstract Object doInvoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq rest) /*throws Exception*/; -override public Object applyTo(ThreadLocalData tld, ISeq arglist) /*throws Exception*/ +override public Object applyTo( ISeq arglist) /*throws Exception*/ {
switch (RT.boundedLength(arglist, 5))
{
case 0:
- return invoke(tld);
+ return invoke();
case 1:
- return invoke(tld, arglist.first());
+ return invoke( arglist.first());
case 2:
- return invoke(tld, arglist.first()
+ return invoke( arglist.first()
, (arglist = arglist.rest()).first()
);
case 3:
- return invoke(tld, arglist.first()
+ return invoke( arglist.first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
);
case 4:
- return invoke(tld, arglist.first()
+ return invoke( arglist.first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
);
case 5:
- return invoke(tld, arglist.first()
+ return invoke( arglist.first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
);
default:
- return doInvoke(tld, arglist.first()
+ return doInvoke( arglist.first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
, (arglist = arglist.rest()).first()
@@ -62,16 +62,16 @@ override public Object applyTo(ThreadLocalData tld, ISeq arglist) /*throws Excep } } -override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +override public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) /*throws Exception*/ { - return doInvoke(tld, arg1, arg2, arg3, arg4, arg5, null); + return doInvoke( arg1, arg2, arg3, arg4, arg5, null); } -override public Object invoke(ThreadLocalData tld, 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, ISeq args) /*throws Exception*/ { - return doInvoke(tld, arg1, arg2, arg3, arg4, arg5, args); + return doInvoke( arg1, arg2, arg3, arg4, arg5, args); } } } diff --git a/src/cli/runtime/TObj.cs b/src/cli/runtime/TObj.cs index 66de8084..bb152a0a 100644 --- a/src/cli/runtime/TObj.cs +++ b/src/cli/runtime/TObj.cs @@ -16,24 +16,24 @@ namespace org.clojure.runtime public class TObj : IObj{
TRef attrs;
-public TObj(ThreadLocalData tld) {
- this.attrs = Transaction.tref(tld,new PersistentTree());
+public TObj() {
+ this.attrs = Transaction.tref(new PersistentTree());
}
-public Object put(ThreadLocalData tld, IComparable key, Object val) {
- PersistentTree t = (PersistentTree) Transaction.get(tld, attrs);
+public Object put( IComparable key, Object val) {
+ PersistentTree t = (PersistentTree) Transaction.get2( attrs);
t = (PersistentTree) t.put(key, val);
- Transaction.set(tld,attrs,t);
+ Transaction.set2(attrs,t);
return val;
}
-public Object get(ThreadLocalData tld, IComparable key) {
- PersistentTree t = (PersistentTree) Transaction.get(tld, attrs);
+public Object get( IComparable key) {
+ PersistentTree t = (PersistentTree) Transaction.get2( attrs);
return t.get(key);
}
-public bool has(ThreadLocalData tld, IComparable key) {
- PersistentTree t = (PersistentTree) Transaction.get(tld, attrs);
+public bool has( IComparable key) {
+ PersistentTree t = (PersistentTree) Transaction.get2( attrs);
return t.contains(key);
}
}
diff --git a/src/cli/runtime/Transaction.cs b/src/cli/runtime/Transaction.cs index e3490548..dc328ab7 100644 --- a/src/cli/runtime/Transaction.cs +++ b/src/cli/runtime/Transaction.cs @@ -62,27 +62,27 @@ static public Object runInTransaction(ThreadLocalData tld,IFn fn) { }
}
-static public TRef tref(ThreadLocalData tld, Object val) {
- Transaction trans = tld.getTransaction();
+static public TRef tref(Object val) {
+ Transaction trans = ThreadLocalData.get().getTransaction();
TRef tref = new TRef();
trans.set(tref, val);
return tref;
}
-static public Object get(ThreadLocalData tld, TRef tref) {
- return tld.getTransaction().get(tref);
+static public Object get2(TRef tref) {
+ return ThreadLocalData.get().getTransaction().get(tref);
}
-static public Object set(ThreadLocalData tld, TRef tref, Object val) {
- return tld.getTransaction().set(tref,val);
+static public Object set2(TRef tref, Object val) {
+ return ThreadLocalData.get().getTransaction().set(tref,val);
}
-static public void touch(ThreadLocalData tld, TRef tref) {
- tld.getTransaction().touch(tref);
+static public void touch2(TRef tref) {
+ ThreadLocalData.get().getTransaction().touch(tref);
}
-static public void commutate(ThreadLocalData tld, TRef tref, IFn fn) {
- tld.getTransaction().commutate(tref, fn);
+static public void commutate2(TRef tref, IFn fn) {
+ ThreadLocalData.get().getTransaction().commutate(tref, fn);
}
diff --git a/src/cli/runtime/Var.cs b/src/cli/runtime/Var.cs index 93e9b6ca..dfbb4ea1 100644 --- a/src/cli/runtime/Var.cs +++ b/src/cli/runtime/Var.cs @@ -21,5 +21,5 @@ public readonly Symbol sym;
public Namespace ns;
public Box binding;
public IFn else
this.fn = null; //todo, bind to throw stub?
return this;
}
public Box getBinding(ThreadLocalData tld)
{
Box b = getDynamicBinding(tld);
if(b != null)
return b;
return binding;
}
public Object getValue(ThreadLocalData tld)
{
Box binding = getBinding(tld);
if(binding != null)
return binding.val;
throw new InvalidOperationException(this.toString() + " is unbound.");
}
public Object setValue(ThreadLocalData tld, Object val)
{
Box b = getDynamicBinding(tld);
if(b != null)
return b.val = val;
//allow global set to create binding like this?
if(binding == null)
throw new InvalidOperationException(this.toString() + " is unbound.");
if(val is IFn)
this.fn = (IFn) val;
else
this.fn = null; //todo, bind to throw stub?
return binding.val = val;
}
public Box getDynamicBinding(ThreadLocalData tld)
{
return (Box) tld.dynamicBindings[this];
}
public Box establishDynamicBinding(ThreadLocalData tld, Object val)
{
Box ret = getDynamicBinding(tld);
tld.dynamicBindings[this] = new Box(val);
return ret;
}
public void restoreDynamicBinding(ThreadLocalData tld, Box old)
{
tld.dynamicBindings[this] = old;
- }
override public Object invoke(ThreadLocalData tld) /*throws Exception*/
{
return fn.invoke(tld);
}
override public Object invoke(ThreadLocalData tld, Object arg1) /*throws Exception*/
{
return fn.invoke(tld,arg1);
}
override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2) /*throws Exception*/
{
return fn.invoke(tld,arg1,arg2);
}
override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) /*throws Exception*/
{
return fn.invoke(tld,arg1,arg2,arg3);
}
override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) /*throws Exception*/
{
return fn.invoke(tld,arg1,arg2,arg3,arg4);
}
override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5)
/*throws Exception*/
{
return fn.invoke(tld,arg1,arg2,arg3,arg4,arg5);
}
override public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args)
/*throws Exception*/
{
return fn.invoke(tld,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, ISeq args)
/*throws Exception*/
{
return fn.invoke(arg1,arg2,arg3,arg4,arg5,args);
}
}
}
diff --git a/src/org/clojure/runtime/AFn.java b/src/org/clojure/runtime/AFn.java index 653a0e6d..6cfd3324 100644 --- a/src/org/clojure/runtime/AFn.java +++ b/src/org/clojure/runtime/AFn.java @@ -14,78 +14,78 @@ package org.clojure.runtime; public class AFn extends Obj implements IFn{ -public Object invoke(ThreadLocalData tld) throws Exception +public Object invoke() throws Exception { return throwArity(); } -public Object invoke(ThreadLocalData tld, Object arg1) throws Exception +public Object invoke( Object arg1) throws Exception { return throwArity(); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2) throws Exception +public Object invoke( Object arg1, Object arg2) throws Exception { return throwArity(); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3) throws Exception { return throwArity(); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) throws Exception { return throwArity(); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) throws Exception { return throwArity(); } -public Object invoke(ThreadLocalData tld, 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, ISeq args) throws Exception { return throwArity(); } -public Object applyTo(ThreadLocalData tld, ISeq arglist) throws Exception { - return applyToHelper(this, tld, arglist); +public Object applyTo( ISeq arglist) throws Exception { + return applyToHelper(this, arglist); } -static public Object applyToHelper(IFn ifn,ThreadLocalData tld, ISeq arglist) throws Exception +static public Object applyToHelper(IFn ifn, ISeq arglist) throws Exception { switch(RT.boundedLength(arglist, 5)) { case 0: - return ifn.invoke(tld); + return ifn.invoke(); case 1: - return ifn.invoke(tld, arglist.first()); + return ifn.invoke( arglist.first()); case 2: - return ifn.invoke(tld, arglist.first() + return ifn.invoke( arglist.first() , (arglist = arglist.rest()).first() ); case 3: - return ifn.invoke(tld, arglist.first() + return ifn.invoke( arglist.first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() ); case 4: - return ifn.invoke(tld, arglist.first() + return ifn.invoke( arglist.first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() ); case 5: - return ifn.invoke(tld, arglist.first() + return ifn.invoke( arglist.first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() ); default: - return ifn.invoke(tld, arglist.first() + return ifn.invoke( arglist.first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() diff --git a/src/org/clojure/runtime/Accessor.java b/src/org/clojure/runtime/Accessor.java index cf046c68..2fb5dc20 100644 --- a/src/org/clojure/runtime/Accessor.java +++ b/src/org/clojure/runtime/Accessor.java @@ -22,18 +22,17 @@ Accessor(String name) } -public Object invoke(ThreadLocalData tld) throws Exception { +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 Obj * @return the value of the attr or nil if not found * @throws Exception */ -public Object invoke(ThreadLocalData tld, Object obj) throws Exception +public Object invoke( Object obj) throws Exception { return Reflector.invokeInstanceMember(memberName,obj); @@ -42,42 +41,41 @@ public Object invoke(ThreadLocalData tld, Object obj) throws Exception /** * Indexer implements IFn for attr access * This two arg version is the setter - * @param tld * @param obj - must be Obj * @param val * @return val * @throws Exception */ -public Object invoke(ThreadLocalData tld, Object obj, Object val) throws Exception +public Object invoke( Object obj, Object val) throws Exception { return Reflector.invokeInstanceMember(memberName,obj,val); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3) throws Exception { return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) throws Exception { return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3,arg4); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +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(ThreadLocalData tld, 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, ISeq args) throws Exception { return Reflector.invokeInstanceMember(memberName,arg1,arg2,arg3,arg4,arg5,args); } -public Object applyTo(ThreadLocalData tld, ISeq arglist) throws Exception { - return AFn.applyToHelper(this, tld, arglist); +public Object applyTo( ISeq arglist) throws Exception { + return AFn.applyToHelper(this, arglist); } } diff --git a/src/org/clojure/runtime/IFn.java b/src/org/clojure/runtime/IFn.java index 6e4c8551..7b94d509 100644 --- a/src/org/clojure/runtime/IFn.java +++ b/src/org/clojure/runtime/IFn.java @@ -14,21 +14,21 @@ package org.clojure.runtime; public interface IFn{ -public Object invoke(ThreadLocalData tld) throws Exception; +public Object invoke() throws Exception; -public Object invoke(ThreadLocalData tld, Object arg1) throws Exception; +public Object invoke(Object arg1) throws Exception; -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2) throws Exception; +public Object invoke(Object arg1, Object arg2) throws Exception; -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) throws Exception; +public Object invoke(Object arg1, Object arg2, Object arg3) throws Exception; -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) throws Exception; +public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4) throws Exception; -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) throws Exception; -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, +public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args) throws Exception; -public Object applyTo(ThreadLocalData tld, ISeq arglist) throws Exception; +public Object applyTo(ISeq arglist) throws Exception; } diff --git a/src/org/clojure/runtime/IObj.java b/src/org/clojure/runtime/IObj.java index e4284aba..30e72025 100644 --- a/src/org/clojure/runtime/IObj.java +++ b/src/org/clojure/runtime/IObj.java @@ -18,9 +18,9 @@ package org.clojure.runtime; * To change this template use File | Settings | File Templates.
*/
public interface IObj {
-Object put(ThreadLocalData tld, Comparable key, Object val) throws Exception;
+Object put( Comparable key, Object val) throws Exception;
-Object get(ThreadLocalData tld, Comparable key) throws Exception;
+Object get( Comparable key) throws Exception;
-boolean has(ThreadLocalData tld, Comparable key) throws Exception;
+boolean has( Comparable key) throws Exception;
}
diff --git a/src/org/clojure/runtime/Keyword.java b/src/org/clojure/runtime/Keyword.java index e4012e56..4229e5ee 100644 --- a/src/org/clojure/runtime/Keyword.java +++ b/src/org/clojure/runtime/Keyword.java @@ -28,7 +28,7 @@ Keyword(String name) } -public Object invoke(ThreadLocalData tld) throws Exception { +public Object invoke() throws Exception { return AFn.throwArity(); } @@ -40,11 +40,11 @@ public Object invoke(ThreadLocalData tld) throws Exception { * @return the value of the attr or nil if not found * @throws Exception */ -public Object invoke(ThreadLocalData tld, Object obj) throws Exception +public Object invoke(Object obj) throws Exception { if (obj == null) return null; - return ((IObj)obj).get(tld,this); + return ((IObj)obj).get(this); } /** @@ -56,34 +56,34 @@ public Object invoke(ThreadLocalData tld, Object obj) throws Exception * @return val * @throws Exception */ -public Object invoke(ThreadLocalData tld, Object obj, Object val) throws Exception +public Object invoke(Object obj, Object val) throws Exception { - return ((IObj)obj).put(tld,this,val); + return ((IObj)obj).put(this,val); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3) throws Exception { return AFn.throwArity(); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) throws Exception { return AFn.throwArity(); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) throws Exception { return AFn.throwArity(); } -public Object invoke(ThreadLocalData tld, 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, ISeq args) throws Exception { return AFn.throwArity(); } -public Object applyTo(ThreadLocalData tld, ISeq arglist) throws Exception { - return AFn.applyToHelper(this, tld, arglist); +public Object applyTo( ISeq arglist) throws Exception { + return AFn.applyToHelper(this, arglist); } } diff --git a/src/org/clojure/runtime/Obj.java b/src/org/clojure/runtime/Obj.java index c8aa532d..f0f2a3a4 100644 --- a/src/org/clojure/runtime/Obj.java +++ b/src/org/clojure/runtime/Obj.java @@ -19,7 +19,7 @@ public class Obj implements IObj { IdentityHashMap attrs; public static final int INITIAL_SIZE = 7; -public Object put(ThreadLocalData tld, Comparable key, Object val) +public Object put( Comparable key, Object val) { if(attrs == null) attrs = new IdentityHashMap(INITIAL_SIZE); @@ -27,14 +27,14 @@ public Object put(ThreadLocalData tld, Comparable key, Object val) return val; } -public Object get(ThreadLocalData tld, Comparable key) +public Object get( Comparable key) { if(attrs == null) return null; return attrs.get(key); } -public boolean has(ThreadLocalData tld, Comparable key){ +public boolean has( Comparable key){ if(attrs == null) return false; return attrs.containsKey(key); diff --git a/src/org/clojure/runtime/RestFn0.java b/src/org/clojure/runtime/RestFn0.java index 8bdc2629..352d1bb8 100644 --- a/src/org/clojure/runtime/RestFn0.java +++ b/src/org/clojure/runtime/RestFn0.java @@ -14,47 +14,47 @@ package org.clojure.runtime; public abstract class RestFn0 extends AFn{ -protected abstract Object doInvoke(ThreadLocalData tld, ISeq rest) throws Exception; +protected abstract Object doInvoke( ISeq rest) throws Exception; -public Object applyTo(ThreadLocalData tld, ISeq arglist) throws Exception +public Object applyTo( ISeq arglist) throws Exception { - return doInvoke(tld, arglist); + return doInvoke( arglist); } public Object invoke(ThreadLocalData tld) throws Exception { - return doInvoke(tld, null); + return doInvoke( null); } -public Object invoke(ThreadLocalData tld, Object arg1) throws Exception +public Object invoke( Object arg1) throws Exception { - return doInvoke(tld, RT.list(arg1)); + return doInvoke( RT.list(arg1)); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2) throws Exception +public Object invoke( Object arg1, Object arg2) throws Exception { - return doInvoke(tld, RT.list(arg1, arg2)); + return doInvoke( RT.list(arg1, arg2)); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3) throws Exception { - return doInvoke(tld, RT.list(arg1, arg2, arg3)); + return doInvoke( RT.list(arg1, arg2, arg3)); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) throws Exception { - return doInvoke(tld, RT.list(arg1, arg2, arg3, arg4)); + return doInvoke( RT.list(arg1, arg2, arg3, arg4)); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) throws Exception { - return doInvoke(tld, RT.list(arg1, arg2, arg3, arg4, arg5)); + return doInvoke( RT.list(arg1, arg2, arg3, arg4, arg5)); } -public Object invoke(ThreadLocalData tld, 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, ISeq args) throws Exception { - return doInvoke(tld, RT.listStar(arg1, arg2, arg3, arg4, arg5, args)); + return doInvoke( RT.listStar(arg1, arg2, arg3, arg4, arg5, args)); } } diff --git a/src/org/clojure/runtime/RestFn1.java b/src/org/clojure/runtime/RestFn1.java index 054f1960..15e78635 100644 --- a/src/org/clojure/runtime/RestFn1.java +++ b/src/org/clojure/runtime/RestFn1.java @@ -14,52 +14,52 @@ package org.clojure.runtime; public abstract class RestFn1 extends AFn{ -protected abstract Object doInvoke(ThreadLocalData tld, Object arg1, ISeq rest) throws Exception; +protected abstract Object doInvoke( Object arg1, ISeq rest) throws Exception; -public Object applyTo(ThreadLocalData tld, ISeq arglist) throws Exception +public Object applyTo( ISeq arglist) throws Exception { switch(RT.boundedLength(arglist, 1)) { case 0: - return invoke(tld); + return invoke(); case 1: - return invoke(tld,arglist.first()); + return invoke(arglist.first()); default: - return doInvoke(tld, arglist.first() + return doInvoke( arglist.first() , arglist.rest()); } } -public Object invoke(ThreadLocalData tld, Object arg1) throws Exception +public Object invoke( Object arg1) throws Exception { - return doInvoke(tld, arg1, null); + return doInvoke( arg1, null); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2) throws Exception +public Object invoke( Object arg1, Object arg2) throws Exception { - return doInvoke(tld, arg1, RT.list(arg2)); + return doInvoke( arg1, RT.list(arg2)); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3) throws Exception { - return doInvoke(tld, arg1, RT.list(arg2, arg3)); + return doInvoke( arg1, RT.list(arg2, arg3)); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) throws Exception { - return doInvoke(tld, arg1, RT.list(arg2, arg3, arg4)); + return doInvoke( arg1, RT.list(arg2, arg3, arg4)); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) throws Exception { - return doInvoke(tld, arg1, RT.list(arg2, arg3, arg4, arg5)); + return doInvoke( arg1, RT.list(arg2, arg3, arg4, arg5)); } -public Object invoke(ThreadLocalData tld, 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, ISeq args) throws Exception { - return doInvoke(tld, arg1, RT.listStar(arg2, arg3, arg4, arg5, args)); + return doInvoke( arg1, RT.listStar(arg2, arg3, arg4, arg5, args)); } } diff --git a/src/org/clojure/runtime/RestFn2.java b/src/org/clojure/runtime/RestFn2.java index f8aafa79..51a0d55b 100644 --- a/src/org/clojure/runtime/RestFn2.java +++ b/src/org/clojure/runtime/RestFn2.java @@ -14,53 +14,53 @@ package org.clojure.runtime; public abstract class RestFn2 extends AFn{ -protected abstract Object doInvoke(ThreadLocalData tld, Object arg1, Object arg2, ISeq rest) throws Exception; +protected abstract Object doInvoke( Object arg1, Object arg2, ISeq rest) throws Exception; -public Object applyTo(ThreadLocalData tld, ISeq arglist) throws Exception +public Object applyTo( ISeq arglist) throws Exception { switch(RT.boundedLength(arglist, 2)) { case 0: - return invoke(tld); + return invoke(); case 1: - return invoke(tld,arglist.first()); + return invoke(arglist.first()); case 2: - return invoke(tld,arglist.first() + return invoke(arglist.first() , (arglist = arglist.rest()).first() ); default: - return doInvoke(tld, arglist.first() + return doInvoke( arglist.first() , (arglist = arglist.rest()).first() , arglist.rest()); } } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2) throws Exception +public Object invoke( Object arg1, Object arg2) throws Exception { - return doInvoke(tld, arg1, arg2, null); + return doInvoke( arg1, arg2, null); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3) throws Exception { - return doInvoke(tld, arg1, arg2, RT.list(arg3)); + return doInvoke( arg1, arg2, RT.list(arg3)); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) throws Exception { - return doInvoke(tld, arg1, arg2, RT.list(arg3, arg4)); + return doInvoke( arg1, arg2, RT.list(arg3, arg4)); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) throws Exception { - return doInvoke(tld, arg1, arg2, RT.list(arg3, arg4, arg5)); + return doInvoke( arg1, arg2, RT.list(arg3, arg4, arg5)); } -public Object invoke(ThreadLocalData tld, 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, ISeq args) throws Exception { - return doInvoke(tld, arg1, arg2, RT.listStar(arg3, arg4, arg5, args)); + return doInvoke( arg1, arg2, RT.listStar(arg3, arg4, arg5, args)); } } diff --git a/src/org/clojure/runtime/RestFn3.java b/src/org/clojure/runtime/RestFn3.java index 70bceb95..4f16297b 100644 --- a/src/org/clojure/runtime/RestFn3.java +++ b/src/org/clojure/runtime/RestFn3.java @@ -14,27 +14,27 @@ package org.clojure.runtime; public abstract class RestFn3 extends AFn{ -protected abstract Object doInvoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, ISeq rest) throws Exception; +protected abstract Object doInvoke( Object arg1, Object arg2, Object arg3, ISeq rest) throws Exception; -public Object applyTo(ThreadLocalData tld, ISeq arglist) throws Exception +public Object applyTo( ISeq arglist) throws Exception { switch(RT.boundedLength(arglist, 3)) { case 0: - return invoke(tld); + return invoke(); case 1: - return invoke(tld,arglist.first()); + return invoke(arglist.first()); case 2: - return invoke(tld,arglist.first() + return invoke(arglist.first() , (arglist = arglist.rest()).first() ); case 3: - return invoke(tld,arglist.first() + return invoke(arglist.first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() ); default: - return doInvoke(tld, arglist.first() + return doInvoke( arglist.first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() , arglist.rest()); @@ -43,25 +43,25 @@ public Object applyTo(ThreadLocalData tld, ISeq arglist) throws Exception } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3) throws Exception { - return doInvoke(tld, arg1, arg2, arg3,null); + return doInvoke( arg1, arg2, arg3,null); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) throws Exception { - return doInvoke(tld, arg1, arg2, arg3, RT.list(arg4)); + return doInvoke( arg1, arg2, arg3, RT.list(arg4)); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) throws Exception { - return doInvoke(tld, arg1, arg2, arg3, RT.list(arg4, arg5)); + return doInvoke( arg1, arg2, arg3, RT.list(arg4, arg5)); } -public Object invoke(ThreadLocalData tld, 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, ISeq args) throws Exception { - return doInvoke(tld, arg1, arg2, arg3, RT.listStar(arg4, arg5, args)); + return doInvoke( arg1, arg2, arg3, RT.listStar(arg4, arg5, args)); } } diff --git a/src/org/clojure/runtime/RestFn4.java b/src/org/clojure/runtime/RestFn4.java index 1be448b0..368d90e8 100644 --- a/src/org/clojure/runtime/RestFn4.java +++ b/src/org/clojure/runtime/RestFn4.java @@ -14,34 +14,34 @@ package org.clojure.runtime; public abstract class RestFn4 extends AFn{ -protected abstract Object doInvoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, ISeq rest) +protected abstract Object doInvoke( Object arg1, Object arg2, Object arg3, Object arg4, ISeq rest) throws Exception; -public Object applyTo(ThreadLocalData tld, ISeq arglist) throws Exception +public Object applyTo( ISeq arglist) throws Exception { switch(RT.boundedLength(arglist, 4)) { case 0: - return invoke(tld); + return invoke(); case 1: - return invoke(tld,arglist.first()); + return invoke(arglist.first()); case 2: - return invoke(tld,arglist.first() + return invoke(arglist.first() , (arglist = arglist.rest()).first() ); case 3: - return invoke(tld,arglist.first() + return invoke(arglist.first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() ); case 4: - return invoke(tld,arglist.first() + return invoke(arglist.first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() ); default: - return doInvoke(tld, arglist.first() + return doInvoke( arglist.first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() , (arglist = arglist.rest()).first() @@ -50,21 +50,21 @@ public Object applyTo(ThreadLocalData tld, ISeq arglist) throws Exception } } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) throws Exception { - return doInvoke(tld, arg1, arg2, arg3, arg4, null); + return doInvoke( arg1, arg2, arg3, arg4, null); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) throws Exception { - return doInvoke(tld, arg1, arg2, arg3, arg4, RT.list(arg5)); + return doInvoke( arg1, arg2, arg3, arg4, RT.list(arg5)); } -public Object invoke(ThreadLocalData tld, 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, ISeq args) throws Exception { - return doInvoke(tld, arg1, arg2, arg3, arg4, RT.listStar(arg5, args)); + return doInvoke( arg1, arg2, arg3, arg4, RT.listStar(arg5, args)); } } diff --git a/src/org/clojure/runtime/TObj.java b/src/org/clojure/runtime/TObj.java index 00d121fb..74069b3d 100644 --- a/src/org/clojure/runtime/TObj.java +++ b/src/org/clojure/runtime/TObj.java @@ -13,24 +13,25 @@ package org.clojure.runtime; public class TObj implements IObj{
TRef attrs;
-public TObj(ThreadLocalData tld) throws Exception{
- this.attrs = Transaction.tref(tld,new PersistentTree());
+public TObj() throws Exception{
+ this.attrs = Transaction.tref(new PersistentTree());
}
-public Object put(ThreadLocalData tld, Comparable key, Object val) throws Exception {
- PersistentTree t = (PersistentTree) Transaction.get(tld, attrs);
+
+public Object put( Comparable key, Object val) throws Exception {
+ PersistentTree t = (PersistentTree) Transaction.get2( attrs);
t = t.put(key, val);
- Transaction.set(tld,attrs,t);
+ Transaction.set2(attrs,t);
return val;
}
-public Object get(ThreadLocalData tld, Comparable key) throws Exception {
- PersistentTree t = (PersistentTree) Transaction.get(tld, attrs);
+public Object get( Comparable key) throws Exception {
+ PersistentTree t = (PersistentTree) Transaction.get2( attrs);
return t.get(key);
}
-public boolean has(ThreadLocalData tld, Comparable key) throws Exception {
- PersistentTree t = (PersistentTree) Transaction.get(tld, attrs);
+public boolean has( Comparable key) throws Exception {
+ PersistentTree t = (PersistentTree) Transaction.get2( attrs);
return t.contains(key);
}
}
diff --git a/src/org/clojure/runtime/Transaction.java b/src/org/clojure/runtime/Transaction.java index 79de28c0..08b3a5dc 100644 --- a/src/org/clojure/runtime/Transaction.java +++ b/src/org/clojure/runtime/Transaction.java @@ -59,29 +59,30 @@ static public Object runInTransaction(ThreadLocalData tld,IFn fn) throws Excepti } } -static public TRef tref(ThreadLocalData tld, Object val) throws Exception{ - Transaction trans = tld.getTransaction(); +static public TRef tref(Object val) throws Exception{ + Transaction trans = ThreadLocalData.get().getTransaction(); TRef tref = new TRef(); trans.set(tref, val); return tref; } -static public Object get(ThreadLocalData tld, TRef tref) throws Exception{ - return tld.getTransaction().get(tref); +//* +static public Object get2(TRef tref) throws Exception{ + return ThreadLocalData.get().getTransaction().get(tref); } -static public Object set(ThreadLocalData tld, TRef tref, Object val) throws Exception{ - return tld.getTransaction().set(tref,val); +static public Object set2(TRef tref, Object val) throws Exception{ + return ThreadLocalData.get().getTransaction().set(tref,val); } -static public void touch(ThreadLocalData tld, TRef tref) throws Exception{ - tld.getTransaction().touch(tref); +static public void touch2(TRef tref) throws Exception{ + ThreadLocalData.get().getTransaction().touch(tref); } -static public void commutate(ThreadLocalData tld, TRef tref, IFn fn) throws Exception{ - tld.getTransaction().commutate(tref, fn); +static public void commutate2(TRef tref, IFn fn) throws Exception{ + ThreadLocalData.get().getTransaction().commutate(tref, fn); } - +//*/ Object run(ThreadLocalData tld, IFn fn) throws Exception{ boolean done = false; diff --git a/src/org/clojure/runtime/Var.java b/src/org/clojure/runtime/Var.java index ee896ca6..b362a9a3 100644 --- a/src/org/clojure/runtime/Var.java +++ b/src/org/clojure/runtime/Var.java @@ -100,41 +100,41 @@ final public void restoreDynamicBinding(ThreadLocalData tld, Box old) tld.dynamicBindings.put(this, old); } -public Object invoke(ThreadLocalData tld) throws Exception +public Object invoke() throws Exception { - return fn.invoke(tld); + return fn.invoke(); } -public Object invoke(ThreadLocalData tld, Object arg1) throws Exception +public Object invoke( Object arg1) throws Exception { - return fn.invoke(tld,arg1); + return fn.invoke(arg1); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2) throws Exception +public Object invoke( Object arg1, Object arg2) throws Exception { - return fn.invoke(tld,arg1,arg2); + return fn.invoke(arg1,arg2); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3) throws Exception { - return fn.invoke(tld,arg1,arg2,arg3); + return fn.invoke(arg1,arg2,arg3); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4) throws Exception +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4) throws Exception { - return fn.invoke(tld,arg1,arg2,arg3,arg4); + return fn.invoke(arg1,arg2,arg3,arg4); } -public Object invoke(ThreadLocalData tld, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) +public Object invoke( Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) throws Exception { - return fn.invoke(tld,arg1,arg2,arg3,arg4,arg5); + return fn.invoke(arg1,arg2,arg3,arg4,arg5); } -public Object invoke(ThreadLocalData tld, 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, ISeq args) throws Exception { - return fn.invoke(tld,arg1,arg2,arg3,arg4,arg5,args); + return fn.invoke(arg1,arg2,arg3,arg4,arg5,args); } } |