diff options
author | michelou <michelou@epfl.ch> | 2007-10-03 16:52:05 +0000 |
---|---|---|
committer | michelou <michelou@epfl.ch> | 2007-10-03 16:52:05 +0000 |
commit | 7f37fa01a496b63a509533f3451f28c936d21743 (patch) | |
tree | 23485a01523b4f13bd4280671dd2a7d4928cf288 /src/library | |
parent | c373bdc3b8400bf5257e911eeefbfad4fde0ef4d (diff) | |
download | scala-7f37fa01a496b63a509533f3451f28c936d21743.tar.gz scala-7f37fa01a496b63a509533f3451f28c936d21743.tar.bz2 scala-7f37fa01a496b63a509533f3451f28c936d21743.zip |
enums can't be serialized
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/List.scala | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/library/scala/List.scala b/src/library/scala/List.scala index 6e06b8e93f..e9edeafd7c 100644 --- a/src/library/scala/List.scala +++ b/src/library/scala/List.scala @@ -1226,24 +1226,28 @@ final case class ::[B](private var hd: B, private[scala] var tl: List[B]) extend import java.io._ - private def writeObject(out : ObjectOutputStream) = { + private def writeObject(out: ObjectOutputStream) { val i = elements while (i.hasNext) out.writeObject(i.next) out.writeObject(ListSerializeEnd) } - private def readObject(in : ObjectInputStream) : Unit = { + + private def readObject(in: ObjectInputStream) { hd = in.readObject.asInstanceOf[B] assert(hd != ListSerializeEnd) - var current : ::[B] = this + var current: ::[B] = this while (true) in.readObject match { - case ListSerializeEnd => current.tl = Nil; return - case a : Any => - val list : ::[B] = new ::(a.asInstanceOf[B], Nil) - current.tl = list - current = list + case ListSerializeEnd => + current.tl = Nil + return + case a : Any => + val list : ::[B] = new ::(a.asInstanceOf[B], Nil) + current.tl = list + current = list } } } + /** Only used for list serialization */ @SerialVersionUID(0L - 8476791151975527571L) private[scala] case object ListSerializeEnd |