summaryrefslogtreecommitdiff
path: root/src/jvm
diff options
context:
space:
mode:
Diffstat (limited to 'src/jvm')
-rw-r--r--src/jvm/clojure/lang/APersistentMap.java4
-rw-r--r--src/jvm/clojure/lang/APersistentVector.java4
-rw-r--r--src/jvm/clojure/lang/MapEntry.java4
-rw-r--r--src/jvm/clojure/lang/PersistentHashMap.java4
-rw-r--r--src/jvm/clojure/lang/PersistentTreeMap.java3
-rw-r--r--src/jvm/clojure/lang/RT.java4
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