From ee19adc3e5bc9e5b525dac99e9281f3db30d3ece Mon Sep 17 00:00:00 2001 From: Rich Hickey Date: Fri, 4 Aug 2006 23:21:07 +0000 Subject: got rid of identity maps --- src/cli/runtime/PerisistentArrayList.cs | 2 +- src/cli/runtime/TObj.cs | 2 +- src/cli/runtime/Var.cs | 2 +- src/jvm/clojure/lang/TObj.java | 2 +- src/jvm/clojure/lang/ThreadLocalData.java | 2 +- src/jvm/clojure/lang/Var.java | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/cli/runtime/PerisistentArrayList.cs b/src/cli/runtime/PerisistentArrayList.cs index 06eb3d6f..3b9173a1 100644 --- a/src/cli/runtime/PerisistentArrayList.cs +++ b/src/cli/runtime/PerisistentArrayList.cs @@ -51,7 +51,7 @@ override public int length(){ return _count; } -public int count(){ +override public int count(){ return _count; } diff --git a/src/cli/runtime/TObj.cs b/src/cli/runtime/TObj.cs index 5bc2e2cd..ba48b9e9 100644 --- a/src/cli/runtime/TObj.cs +++ b/src/cli/runtime/TObj.cs @@ -17,7 +17,7 @@ public class TObj : IObj{ TRef _attrs; public TObj(){ - this._attrs = Transaction.tref(PersistentArrayIdentityMap.EMPTY); + this._attrs = Transaction.tref(PersistentArrayMap.EMPTY); } diff --git a/src/cli/runtime/Var.cs b/src/cli/runtime/Var.cs index 1ab3b0b1..c4b9e7b9 100644 --- a/src/cli/runtime/Var.cs +++ b/src/cli/runtime/Var.cs @@ -15,7 +15,7 @@ namespace clojure.lang { public class Var : AFn { -public readonly Symbol sym; public Namespace ns; public Binding binding; volatile IPersistentMap threadBindings = PersistentArrayIdentityMap.EMPTY; volatile int tcount = 0; internal Var(Symbol sym, Namespace ns) { if(sym.GetType() != typeof(Symbol)) throw new ArgumentException("Only simple symbols can be vars"); this.ns = ns; this.sym = sym; } override public String ToString() { if(ns == null) return "#:" + sym; return ns.name + ":" + sym; } public Var bind(Object val) { if(binding == null) +public readonly Symbol sym; public Namespace ns; public Binding binding; volatile IPersistentMap threadBindings = PersistentArrayMap.EMPTY; volatile int tcount = 0; internal Var(Symbol sym, Namespace ns) { if(sym.GetType() != typeof(Symbol)) throw new ArgumentException("Only simple symbols can be vars"); this.ns = ns; this.sym = sym; } override public String ToString() { if(ns == null) return "#:" + sym; return ns.name + ":" + sym; } public Var bind(Object val) { if(binding == null) binding = new Binding(val); else binding.val = val; return this; } public Object getValue() { diff --git a/src/jvm/clojure/lang/TObj.java b/src/jvm/clojure/lang/TObj.java index d04f38d8..564fb8ec 100644 --- a/src/jvm/clojure/lang/TObj.java +++ b/src/jvm/clojure/lang/TObj.java @@ -14,7 +14,7 @@ public class TObj implements IObj{ TRef _attrs; public TObj() throws Exception{ - this._attrs = Transaction.tref(PersistentArrayIdentityMap.EMPTY); + this._attrs = Transaction.tref(PersistentArrayMap.EMPTY); } diff --git a/src/jvm/clojure/lang/ThreadLocalData.java b/src/jvm/clojure/lang/ThreadLocalData.java index d4b76c47..5e94f6c2 100644 --- a/src/jvm/clojure/lang/ThreadLocalData.java +++ b/src/jvm/clojure/lang/ThreadLocalData.java @@ -39,7 +39,7 @@ static public void main(String[] args){ // testmap = (PersistentArrayIdentityMap) testmap.put(42, 42); // testmap = (PersistentArrayIdentityMap) testmap.put(Thread.currentThread(), 17); - IPersistentMap testmap = PersistentArrayIdentityMap.EMPTY; + IPersistentMap testmap = PersistentArrayMap.EMPTY; testmap = testmap.put(Thread.currentThread(), 17); // testmap = testmap.put(42, 42); // testmap = testmap.put(43, 42); diff --git a/src/jvm/clojure/lang/Var.java b/src/jvm/clojure/lang/Var.java index a879e439..7a05a7c7 100644 --- a/src/jvm/clojure/lang/Var.java +++ b/src/jvm/clojure/lang/Var.java @@ -22,7 +22,7 @@ public final Symbol sym; public Namespace namespace; public Binding binding; AtomicInteger tcount = new AtomicInteger(0); -AtomicReference threadBindings = new AtomicReference(PersistentArrayIdentityMap.EMPTY); +AtomicReference threadBindings = new AtomicReference(PersistentArrayMap.EMPTY); Var(Symbol sym, Namespace ns) { if (!(sym.getClass() == Symbol.class)) -- cgit v1.2.3-70-g09d2