diff options
-rw-r--r-- | src/cli/runtime/Obj.cs | 12 | ||||
-rw-r--r-- | src/jvm/clojure/lang/Obj.java | 14 |
2 files changed, 9 insertions, 17 deletions
diff --git a/src/cli/runtime/Obj.cs b/src/cli/runtime/Obj.cs index 9f201cd7..d1d969c9 100644 --- a/src/cli/runtime/Obj.cs +++ b/src/cli/runtime/Obj.cs @@ -15,13 +15,13 @@ using System; namespace clojure.lang
{ -public class Obj : IObj
-{ +public class Obj{ + volatile IPersistentMap _attrs = PersistentArrayIdentityMap.EMPTY;
-public Object putAttr( Object key, Object val)
+public Object addAttr( Object key, Object val)
{
- _attrs = _attrs.put(key, val);
+ _attrs = _attrs.add(key, val);
return val;
}
@@ -38,10 +38,6 @@ public bool hasAttr( Object key){ public IPersistentMap attrs() {
return _attrs;
}
-
-public void removeAttr(Object key) {
- _attrs = _attrs.remove(key);
-} } diff --git a/src/jvm/clojure/lang/Obj.java b/src/jvm/clojure/lang/Obj.java index 5714a4b4..f0f81976 100644 --- a/src/jvm/clojure/lang/Obj.java +++ b/src/jvm/clojure/lang/Obj.java @@ -12,15 +12,14 @@ package clojure.lang; -public class Obj implements IObj { +public class Obj { volatile IPersistentMap _attrs = PersistentArrayIdentityMap.EMPTY; -public Object putAttr( Object key, Object val) - { - _attrs = _attrs.put(key, val); - return val; - } +public Object addAttr( Object key, Object val) throws Exception { + _attrs = _attrs.add(key, val); + return val; + } public Object getAttr( Object key) { @@ -36,7 +35,4 @@ public IPersistentMap attrs() { return _attrs; } -public void removeAttr(Object key) { - _attrs = _attrs.remove(key); -} } |