summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChas Emerick <cemerick@snowtide.com>2009-08-13 21:26:58 -0400
committerChouser <chouser@n01se.net>2009-08-19 22:40:16 -0400
commitb6cf1963af6e4e6aa35446aff15d77dcef305855 (patch)
treeea047a64293532e2ac6bb1c2766d415ddd14bb29
parentabca86ea023080fd4ceed24b9887a653a56722eb (diff)
make clojure.lang.Keyword Serializable, fixes #174
Signed-off-by: Chouser <chouser@n01se.net>
-rw-r--r--src/jvm/clojure/lang/Keyword.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/jvm/clojure/lang/Keyword.java b/src/jvm/clojure/lang/Keyword.java
index 9b5aea9a..890f14d7 100644
--- a/src/jvm/clojure/lang/Keyword.java
+++ b/src/jvm/clojure/lang/Keyword.java
@@ -12,10 +12,12 @@
package clojure.lang;
+import java.io.ObjectStreamException;
+import java.io.Serializable;
import java.util.concurrent.ConcurrentHashMap;
-public class Keyword implements IFn, Comparable, Named{
+public class Keyword implements IFn, Comparable, Named, Serializable {
private static ConcurrentHashMap<Symbol, Keyword> table = new ConcurrentHashMap();
public final Symbol sym;
@@ -76,6 +78,10 @@ public String getName(){
return sym.getName();
}
+private Object readResolve() throws ObjectStreamException{
+ return intern(sym);
+}
+
/**
* Indexer implements IFn for attr access
*