diff options
Diffstat (limited to 'src/cli/runtime')
-rw-r--r-- | src/cli/runtime/AFn.cs | 34 | ||||
-rw-r--r-- | src/cli/runtime/Accessor.cs | 10 | ||||
-rw-r--r-- | src/cli/runtime/IFn.cs | 16 | ||||
-rw-r--r-- | src/cli/runtime/IObj.cs | 6 | ||||
-rw-r--r-- | src/cli/runtime/Keyword.cs | 18 | ||||
-rw-r--r-- | src/cli/runtime/Obj.cs | 6 | ||||
-rw-r--r-- | src/cli/runtime/RestFn0.cs | 34 | ||||
-rw-r--r-- | src/cli/runtime/RestFn1.cs | 34 | ||||
-rw-r--r-- | src/cli/runtime/RestFn2.cs | 32 | ||||
-rw-r--r-- | src/cli/runtime/RestFn3.cs | 30 | ||||
-rw-r--r-- | src/cli/runtime/RestFn4.cs | 28 | ||||
-rw-r--r-- | src/cli/runtime/RestFn5.cs | 26 | ||||
-rw-r--r-- | src/cli/runtime/TObj.cs | 18 | ||||
-rw-r--r-- | src/cli/runtime/Transaction.cs | 20 | ||||
-rw-r--r-- | src/cli/runtime/Var.cs | 2 |
15 files changed, 157 insertions, 157 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);
}
}
}
|