summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cli/runtime/Obj.cs12
-rw-r--r--src/jvm/clojure/lang/Obj.java14
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);
-}
}