diff options
| author | Rich Hickey <richhickey@gmail.com> | 2009-08-03 14:09:11 -0400 |
|---|---|---|
| committer | Rich Hickey <richhickey@gmail.com> | 2009-08-03 14:09:11 -0400 |
| commit | ad85b0e92aac9bb64fb0887ad1410d4e07dfc2ef (patch) | |
| tree | cb6aebe82847613d38b52b481429c335a52bd6f9 /src/jvm | |
| parent | 6bcc5e982720788d922184f19218d3f49e184524 (diff) | |
renamed mutable -> transient, immutable! -> persistent!
Diffstat (limited to 'src/jvm')
| -rw-r--r-- | src/jvm/clojure/lang/IEditableCollection.java | 2 | ||||
| -rw-r--r-- | src/jvm/clojure/lang/ITransientAssociative.java (renamed from src/jvm/clojure/lang/IMutableAssociative.java) | 4 | ||||
| -rw-r--r-- | src/jvm/clojure/lang/ITransientCollection.java (renamed from src/jvm/clojure/lang/IMutableCollection.java) | 6 | ||||
| -rw-r--r-- | src/jvm/clojure/lang/ITransientVector.java (renamed from src/jvm/clojure/lang/IMutableVector.java) | 6 | ||||
| -rw-r--r-- | src/jvm/clojure/lang/PersistentVector.java | 32 |
5 files changed, 25 insertions, 25 deletions
diff --git a/src/jvm/clojure/lang/IEditableCollection.java b/src/jvm/clojure/lang/IEditableCollection.java index be447958..63ccb53a 100644 --- a/src/jvm/clojure/lang/IEditableCollection.java +++ b/src/jvm/clojure/lang/IEditableCollection.java @@ -13,5 +13,5 @@ package clojure.lang; public interface IEditableCollection{ -IMutableCollection mutable(); +ITransientCollection asTransient(); } diff --git a/src/jvm/clojure/lang/IMutableAssociative.java b/src/jvm/clojure/lang/ITransientAssociative.java index 1eef92c2..a4d2655a 100644 --- a/src/jvm/clojure/lang/IMutableAssociative.java +++ b/src/jvm/clojure/lang/ITransientAssociative.java @@ -12,7 +12,7 @@ package clojure.lang; -public interface IMutableAssociative extends IMutableCollection, ILookup{ +public interface ITransientAssociative extends ITransientCollection, ILookup{ -IMutableAssociative assoc(Object key, Object val); +ITransientAssociative assoc(Object key, Object val); } diff --git a/src/jvm/clojure/lang/IMutableCollection.java b/src/jvm/clojure/lang/ITransientCollection.java index a41f1701..0079d33b 100644 --- a/src/jvm/clojure/lang/IMutableCollection.java +++ b/src/jvm/clojure/lang/ITransientCollection.java @@ -12,9 +12,9 @@ package clojure.lang; -public interface IMutableCollection{ +public interface ITransientCollection{ -IMutableCollection conj(Object val); +ITransientCollection conj(Object val); -IPersistentCollection immutable(); +IPersistentCollection persistent(); } diff --git a/src/jvm/clojure/lang/IMutableVector.java b/src/jvm/clojure/lang/ITransientVector.java index 3deab315..6311754c 100644 --- a/src/jvm/clojure/lang/IMutableVector.java +++ b/src/jvm/clojure/lang/ITransientVector.java @@ -12,9 +12,9 @@ package clojure.lang; -public interface IMutableVector extends IMutableAssociative, Indexed{ +public interface ITransientVector extends ITransientAssociative, Indexed{ -IMutableVector assocN(int i, Object val); +ITransientVector assocN(int i, Object val); -IMutableVector pop(); +ITransientVector pop(); } diff --git a/src/jvm/clojure/lang/PersistentVector.java b/src/jvm/clojure/lang/PersistentVector.java index 752bccf8..2d55e2e8 100644 --- a/src/jvm/clojure/lang/PersistentVector.java +++ b/src/jvm/clojure/lang/PersistentVector.java @@ -43,24 +43,24 @@ final Object[] tail; public final static PersistentVector EMPTY = new PersistentVector(0, 5, EMPTY_NODE, new Object[]{}); static public PersistentVector create(ISeq items){ - MutableVector ret = EMPTY.mutable(); + TransientVector ret = EMPTY.asTransient(); for(; items != null; items = items.next()) ret = ret.conj(items.first()); - return ret.immutable(); + return ret.persistent(); } static public PersistentVector create(List items){ - MutableVector ret = EMPTY.mutable(); + TransientVector ret = EMPTY.asTransient(); for(Object item : items) ret = ret.conj(item); - return ret.immutable(); + return ret.persistent(); } static public PersistentVector create(Object... items){ - MutableVector ret = EMPTY.mutable(); + TransientVector ret = EMPTY.asTransient(); for(Object item : items) ret = ret.conj(item); - return ret.immutable(); + return ret.persistent(); } PersistentVector(int cnt, int shift, Node root, Object[] tail){ @@ -80,8 +80,8 @@ PersistentVector(IPersistentMap meta, int cnt, int shift, Node root, Object[] ta this.tail = tail; } -public MutableVector mutable(){ - return new MutableVector(this); +public TransientVector asTransient(){ + return new TransientVector(this); } final int tailoff(){ @@ -369,20 +369,20 @@ private Node popTail(int level, Node node){ } } -static final class MutableVector extends AFn implements IMutableVector, Counted{ +static final class TransientVector extends AFn implements ITransientVector, Counted{ int cnt; int shift; Node root; Object[] tail; - MutableVector(int cnt, int shift, Node root, Object[] tail){ + TransientVector(int cnt, int shift, Node root, Object[] tail){ this.cnt = cnt; this.shift = shift; this.root = root; this.tail = tail; } - MutableVector(PersistentVector v){ + TransientVector(PersistentVector v){ this(v.cnt, v.shift, editableRoot(v.root), editableTail(v.tail)); } @@ -413,7 +413,7 @@ static final class MutableVector extends AFn implements IMutableVector, Counted{ return new Node(new AtomicReference<Thread>(Thread.currentThread()), node.array.clone()); } - public PersistentVector immutable(){ + public PersistentVector persistent(){ ensureEditable(); // Thread owner = root.edit.get(); // if(owner != null && owner != Thread.currentThread()) @@ -432,7 +432,7 @@ static final class MutableVector extends AFn implements IMutableVector, Counted{ return ret; } - public MutableVector conj(Object val){ + public TransientVector conj(Object val){ ensureEditable(); int i = cnt; //room in tail? @@ -536,7 +536,7 @@ static final class MutableVector extends AFn implements IMutableVector, Counted{ return node[i & 0x01f]; } - public MutableVector assocN(int i, Object val){ + public TransientVector assocN(int i, Object val){ ensureEditable(); if(i >= 0 && i < cnt) { @@ -554,7 +554,7 @@ static final class MutableVector extends AFn implements IMutableVector, Counted{ throw new IndexOutOfBoundsException(); } - public MutableVector assoc(Object key, Object val){ + public TransientVector assoc(Object key, Object val){ //note - relies on ensureEditable in assocN if(Util.isInteger(key)) { @@ -579,7 +579,7 @@ static final class MutableVector extends AFn implements IMutableVector, Counted{ return ret; } - public MutableVector pop(){ + public TransientVector pop(){ ensureEditable(); if(cnt == 0) throw new IllegalStateException("Can't pop empty vector"); |
