diff options
Diffstat (limited to 'src/jvm')
-rw-r--r-- | src/jvm/clojure/lang/APersistentMap.java | 4 | ||||
-rw-r--r-- | src/jvm/clojure/lang/APersistentVector.java | 4 | ||||
-rw-r--r-- | src/jvm/clojure/lang/MapEntry.java | 4 | ||||
-rw-r--r-- | src/jvm/clojure/lang/PersistentHashMap.java | 4 | ||||
-rw-r--r-- | src/jvm/clojure/lang/PersistentTreeMap.java | 3 | ||||
-rw-r--r-- | src/jvm/clojure/lang/RT.java | 4 |
6 files changed, 23 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/APersistentMap.java b/src/jvm/clojure/lang/APersistentMap.java index b595a53b..807dfe9c 100644 --- a/src/jvm/clojure/lang/APersistentMap.java +++ b/src/jvm/clojure/lang/APersistentMap.java @@ -24,6 +24,10 @@ protected APersistentMap(IPersistentMap meta){ protected APersistentMap(){
}
+public String toString(){
+ return "<map: - " + count() + " items>";
+}
+
public IPersistentCollection cons(Object o){
if(o instanceof IMapEntry)
{
diff --git a/src/jvm/clojure/lang/APersistentVector.java b/src/jvm/clojure/lang/APersistentVector.java index 712f90db..ede92bc4 100644 --- a/src/jvm/clojure/lang/APersistentVector.java +++ b/src/jvm/clojure/lang/APersistentVector.java @@ -22,6 +22,10 @@ public APersistentVector(IPersistentMap meta){ super(meta); } +public String toString(){ + return "<vector: - " + count() + " items>"; +} + public ISeq seq(){ if(count() > 0) return new Seq(this, 0); diff --git a/src/jvm/clojure/lang/MapEntry.java b/src/jvm/clojure/lang/MapEntry.java index e5fbd2e2..7ab5041a 100644 --- a/src/jvm/clojure/lang/MapEntry.java +++ b/src/jvm/clojure/lang/MapEntry.java @@ -28,6 +28,10 @@ public MapEntry(IPersistentMap meta, Object _key, Object _val){ this._val = _val;
}
+public String toString(){
+ return RT.entryString(_key, _val);
+}
+
public Object key(){
return _key;
}
diff --git a/src/jvm/clojure/lang/PersistentHashMap.java b/src/jvm/clojure/lang/PersistentHashMap.java index 1529691b..38fa551d 100644 --- a/src/jvm/clojure/lang/PersistentHashMap.java +++ b/src/jvm/clojure/lang/PersistentHashMap.java @@ -495,6 +495,10 @@ final static class LeafNode implements INode, IMapEntry, Map.Entry{ this.val = val; } + public String toString(){ + return RT.entryString(key, val); + } + public INode assoc(int shift, int hash, Object key, Object val, Box addedLeaf){ if(hash == this.hash) { diff --git a/src/jvm/clojure/lang/PersistentTreeMap.java b/src/jvm/clojure/lang/PersistentTreeMap.java index 5316c482..f9d27e08 100644 --- a/src/jvm/clojure/lang/PersistentTreeMap.java +++ b/src/jvm/clojure/lang/PersistentTreeMap.java @@ -419,6 +419,9 @@ static abstract class Node implements IMapEntry{ return null; } + public String toString(){ + return RT.entryString(key(), val()); + } public Object getKey(){ return key(); diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java index c996b446..80f5bc02 100644 --- a/src/jvm/clojure/lang/RT.java +++ b/src/jvm/clojure/lang/RT.java @@ -386,6 +386,10 @@ static public Object find(Object coll, Object key){ return ((Associative) coll).entryAt(key); } +static public String entryString( Object key,Object val){ + return "<" + key + " " + val + ">"; +} + //takes a seq of key,val,key,val //returns tail starting at val of matching key if found, else null |