diff options
author | Rich Hickey <richhickey@gmail.com> | 2006-08-05 15:31:36 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2006-08-05 15:31:36 +0000 |
commit | da11eb9d0dd587e532470965b3c655b741d1fa5c (patch) | |
tree | 12ca5ed1b29b2f29caebc3cb3fba09d72af23bd8 /src/cli | |
parent | db58898d1d44d8025208bb5f0b2c4a493a5cdb43 (diff) |
changed return type of assoc to Associative
Diffstat (limited to 'src/cli')
-rw-r--r-- | src/cli/runtime/APersistentMap.cs | 2 | ||||
-rw-r--r-- | src/cli/runtime/AnArray.cs | 4 | ||||
-rw-r--r-- | src/cli/runtime/Associative.cs | 2 | ||||
-rw-r--r-- | src/cli/runtime/MapEntry.cs | 4 | ||||
-rw-r--r-- | src/cli/runtime/PersistentArrayMap.cs | 2 | ||||
-rw-r--r-- | src/cli/runtime/PersistentHashtableMap.cs | 4 | ||||
-rw-r--r-- | src/cli/runtime/PersistentListMap.cs | 8 | ||||
-rw-r--r-- | src/cli/runtime/PersistentTreeMap.cs | 2 | ||||
-rw-r--r-- | src/cli/runtime/TObj.cs | 2 | ||||
-rw-r--r-- | src/cli/runtime/Var.cs | 2 |
10 files changed, 16 insertions, 16 deletions
diff --git a/src/cli/runtime/APersistentMap.cs b/src/cli/runtime/APersistentMap.cs index 5b560036..4e39acb7 100644 --- a/src/cli/runtime/APersistentMap.cs +++ b/src/cli/runtime/APersistentMap.cs @@ -45,7 +45,7 @@ public abstract class APersistentMap : Obj, IPersistentMap{ abstract public object get(object key);
- abstract public IPersistentMap assoc(object key, object val);
+ abstract public Associative assoc(object key, object val);
#endregion
diff --git a/src/cli/runtime/AnArray.cs b/src/cli/runtime/AnArray.cs index 76640631..b586d6f5 100644 --- a/src/cli/runtime/AnArray.cs +++ b/src/cli/runtime/AnArray.cs @@ -67,9 +67,9 @@ public IMapEntry find(Object key) { return null;
}
-public IPersistentMap assoc(Object key, Object val) {
+public Associative assoc(Object key, Object val) {
int i = Convert.ToInt32(key);
- return (IPersistentMap) assocN(i,val);
+ return (Associative)assocN(i, val);
}
public Object get(Object key) {
diff --git a/src/cli/runtime/Associative.cs b/src/cli/runtime/Associative.cs index 062d9099..2711e993 100644 --- a/src/cli/runtime/Associative.cs +++ b/src/cli/runtime/Associative.cs @@ -16,6 +16,6 @@ namespace clojure.lang bool contains(object key);
IMapEntry find(object key);
object get(object key);
- IPersistentMap assoc(object key, object val);
+ Associative assoc(object key, object val);
}
}
diff --git a/src/cli/runtime/MapEntry.cs b/src/cli/runtime/MapEntry.cs index 13051107..606336d3 100644 --- a/src/cli/runtime/MapEntry.cs +++ b/src/cli/runtime/MapEntry.cs @@ -38,7 +38,7 @@ override public IMapEntry find(Object key) { return RT.equal(_key, key)?this:null;
}
-override public IPersistentMap assoc(Object key, Object val) {
+override public Associative assoc(Object key, Object val) {
if(RT.equal(_key, key))
{
if(_val == val)
@@ -55,7 +55,7 @@ override public Object get(Object key) { override public IPersistentMap assocEx(Object key, Object val) {
if(RT.equal(_key, key))
throw new Exception("Key already present");
- return assoc(key, val);
+ return (IPersistentMap)assoc(key, val);
}
override public IPersistentMap without(Object key) {
diff --git a/src/cli/runtime/PersistentArrayMap.cs b/src/cli/runtime/PersistentArrayMap.cs index 4e27ad16..6c848685 100644 --- a/src/cli/runtime/PersistentArrayMap.cs +++ b/src/cli/runtime/PersistentArrayMap.cs @@ -98,7 +98,7 @@ public IPersistentMap assocEx(Object key, Object val) { return create(newArray);
}
-public IPersistentMap assoc(Object key, Object val) {
+public Associative assoc(Object key, Object val) {
int i = indexOf(key);
Object[] newArray;
if(i >= 0) //already have key, same-sized replacement
diff --git a/src/cli/runtime/PersistentHashtableMap.cs b/src/cli/runtime/PersistentHashtableMap.cs index a833fa4c..0bf8930b 100644 --- a/src/cli/runtime/PersistentHashtableMap.cs +++ b/src/cli/runtime/PersistentHashtableMap.cs @@ -98,7 +98,7 @@ public IPersistentMap assocEx(Object key, Object val) { return create(_count + incr, newArray, growAtCount);
}
-public IPersistentMap assoc(Object key, Object val) {
+public Associative assoc(Object key, Object val) {
if(_count > growAtCount)
return grow().assoc(key, val);
int i = bucketFor(key,array);
@@ -116,7 +116,7 @@ PersistentArray doPut(int i,Object key,Object val,PersistentArray array){ IPersistentMap newEntries;
if (entries != null)
{
- newEntries = entries.assoc(key, val);
+ newEntries = (IPersistentMap)entries.assoc(key, val);
if(newEntries == entries) //already there with same value, no op
return array;
}
diff --git a/src/cli/runtime/PersistentListMap.cs b/src/cli/runtime/PersistentListMap.cs index 948a70c4..714dfe38 100644 --- a/src/cli/runtime/PersistentListMap.cs +++ b/src/cli/runtime/PersistentListMap.cs @@ -68,10 +68,10 @@ public virtual IMapEntry find(Object key){ }
public virtual IPersistentMap assocEx(Object key, Object val){
- return assoc(key, val);
+ return (IPersistentMap)assoc(key, val);
}
-public virtual IPersistentMap assoc(Object key, Object val){
+public virtual Associative assoc(Object key, Object val){
return new Tail(key, val, _meta);
}
@@ -202,7 +202,7 @@ internal class Tail : PersistentListMap { return new Link(key, val, this,_meta);
}
- override public IPersistentMap assoc(Object key, Object val)
+ override public Associative assoc(Object key, Object val)
{
if(equalKey(key,_key)) //replace
{
@@ -289,7 +289,7 @@ internal class Link : PersistentListMap { return new Link(key,val,this,_meta);
}
- override public IPersistentMap assoc(Object key, Object val)
+ override public Associative assoc(Object key, Object val)
{
IMapEntry e = find(key);
if(e != null)
diff --git a/src/cli/runtime/PersistentTreeMap.cs b/src/cli/runtime/PersistentTreeMap.cs index f82e59b2..b87e3754 100644 --- a/src/cli/runtime/PersistentTreeMap.cs +++ b/src/cli/runtime/PersistentTreeMap.cs @@ -69,7 +69,7 @@ public IPersistentMap assocEx(Object key,Object val){ return new PersistentTreeMap(comp, t.blacken(), _count + 1, _meta); } -public IPersistentMap assoc(Object key, Object val){ +public Associative assoc(Object key, Object val){ Box found = new Box(null); Node t = add(tree, key, val, found); if(t == null) //null == already contains key diff --git a/src/cli/runtime/TObj.cs b/src/cli/runtime/TObj.cs index a81fb4ef..0fe6b471 100644 --- a/src/cli/runtime/TObj.cs +++ b/src/cli/runtime/TObj.cs @@ -23,7 +23,7 @@ public TObj(){ public Object putAttr( Object key, Object val) {
IPersistentMap t = (IPersistentMap) Transaction.get( _attrs);
- t = t.assoc(key, val);
+ t = (IPersistentMap)t.assoc(key, val);
Transaction.set(_attrs,t);
return val;
}
diff --git a/src/cli/runtime/Var.cs b/src/cli/runtime/Var.cs index 13d10034..cb0327e7 100644 --- a/src/cli/runtime/Var.cs +++ b/src/cli/runtime/Var.cs @@ -49,7 +49,7 @@ Binding getThreadBinding()
{ if (b == null)
newtb = tb.without(thread);
else
- newtb = tb.assoc(thread, b);
+ newtb = (IPersistentMap)tb.assoc(thread, b);
} while (tb != Interlocked.CompareExchange(ref threadBindings, newtb, tb));
}
public IFn fn(){
return (IFn)getValue();
}
override public Object invoke(){
return fn().invoke();
|