summaryrefslogtreecommitdiff
path: root/src/cli/runtime/Var.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cli/runtime/Var.cs')
-rw-r--r--src/cli/runtime/Var.cs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cli/runtime/Var.cs b/src/cli/runtime/Var.cs
index 7354a5ed..93e9b6ca 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, Cons args) /*throws Exception*/ { return fn.invoke(tld,arg1,arg2,arg3,arg4,arg5,args); } }
+ } 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); } }
}