summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authormihaylov <mihaylov@epfl.ch>2005-06-07 15:30:42 +0000
committermihaylov <mihaylov@epfl.ch>2005-06-07 15:30:42 +0000
commitfd154fbd775cd2a2b333686e9cbbbe1643e7b36b (patch)
tree9367465c3b90af1c28dd60160aec271b3393f7f0 /sources
parentabf0edeaf30a0b27cc1dde0c493b1f082850a3a4 (diff)
downloadscala-fd154fbd775cd2a2b333686e9cbbbe1643e7b36b.tar.gz
scala-fd154fbd775cd2a2b333686e9cbbbe1643e7b36b.tar.bz2
scala-fd154fbd775cd2a2b333686e9cbbbe1643e7b36b.zip
Improved serialization handling
Diffstat (limited to 'sources')
-rw-r--r--sources/scala/Seq.scala1
-rw-r--r--sources/scala/collection/immutable/BitSet.scala1
-rw-r--r--sources/scala/collection/immutable/ListMap.scala1
-rw-r--r--sources/scala/collection/immutable/ListSet.scala1
-rw-r--r--sources/scala/collection/immutable/Queue.scala1
-rw-r--r--sources/scala/collection/immutable/Stack.scala3
-rw-r--r--sources/scala/collection/immutable/Tree.scala7
-rw-r--r--sources/scala/collection/immutable/TreeMap.scala3
-rw-r--r--sources/scala/collection/immutable/TreeSet.scala3
-rw-r--r--sources/scala/collection/mutable/ArrayBuffer.scala1
-rw-r--r--sources/scala/collection/mutable/BitSet.scala2
-rw-r--r--sources/scala/collection/mutable/DoubleLinkedList.scala1
-rw-r--r--sources/scala/collection/mutable/HashMap.scala1
-rw-r--r--sources/scala/collection/mutable/HashSet.scala1
-rw-r--r--sources/scala/collection/mutable/HashTable.scala1
-rw-r--r--sources/scala/collection/mutable/History.scala1
-rw-r--r--sources/scala/collection/mutable/ImmutableMapAdaptor.scala1
-rw-r--r--sources/scala/collection/mutable/ImmutableSetAdaptor.scala1
-rw-r--r--sources/scala/collection/mutable/LinkedList.scala2
-rw-r--r--sources/scala/collection/mutable/PriorityQueue.scala3
-rw-r--r--sources/scala/collection/mutable/Queue.scala1
-rw-r--r--sources/scala/collection/mutable/RevertableHistory.scala1
-rw-r--r--sources/scala/collection/mutable/SingleLinkedList.scala1
-rw-r--r--sources/scala/collection/mutable/Stack.scala1
-rw-r--r--sources/scala/xml/Atom.scala1
25 files changed, 32 insertions, 9 deletions
diff --git a/sources/scala/Seq.scala b/sources/scala/Seq.scala
index db24f1e789..db05785b50 100644
--- a/sources/scala/Seq.scala
+++ b/sources/scala/Seq.scala
@@ -37,6 +37,7 @@ object Seq {
* @author Matthias Zenger
* @version 1.0, 16/07/2003
*/
+[serializable]
trait Seq[+A] extends AnyRef with PartialFunction[Int, A] with Iterable[A] {
/** Returns the length of the sequence.
diff --git a/sources/scala/collection/immutable/BitSet.scala b/sources/scala/collection/immutable/BitSet.scala
index aa43a54c8f..c66f3cddd9 100644
--- a/sources/scala/collection/immutable/BitSet.scala
+++ b/sources/scala/collection/immutable/BitSet.scala
@@ -21,6 +21,7 @@ package scala.collection.immutable;
* @author Burak Emir
* @version 1.0
*/
+[serializable]
class BitSet(n:Int, ba: Array[Int], copy: Boolean) extends collection.BitSet with Ordered[BitSet] {
/** lexicographic ordering */
diff --git a/sources/scala/collection/immutable/ListMap.scala b/sources/scala/collection/immutable/ListMap.scala
index b21e5320db..8192eda7fd 100644
--- a/sources/scala/collection/immutable/ListMap.scala
+++ b/sources/scala/collection/immutable/ListMap.scala
@@ -22,6 +22,7 @@ object ListMap {
* @author Matthias Zenger
* @version 1.0, 09/07/2003
*/
+[serializable]
class ListMap[A, B] extends AnyRef with Map[A, B] {
/** This method returns a new ListMap instance mapping keys of the
diff --git a/sources/scala/collection/immutable/ListSet.scala b/sources/scala/collection/immutable/ListSet.scala
index 12f7c4bf78..0fa95a06ce 100644
--- a/sources/scala/collection/immutable/ListSet.scala
+++ b/sources/scala/collection/immutable/ListSet.scala
@@ -25,6 +25,7 @@ object ListSet {
* @author Matthias Zenger
* @version 1.0, 09/07/2003
*/
+[serializable]
class ListSet[A] extends AnyRef with Set[A] {
/** Returns the number of elements in this set.
diff --git a/sources/scala/collection/immutable/Queue.scala b/sources/scala/collection/immutable/Queue.scala
index 5a42323642..ca6ca63171 100644
--- a/sources/scala/collection/immutable/Queue.scala
+++ b/sources/scala/collection/immutable/Queue.scala
@@ -20,6 +20,7 @@ object Queue {
* @author Erik Stenman
* @version 1.0, 08/07/2003
*/
+[serializable]
class Queue[+A](elem: A*) extends Seq[A] {
protected val in: List[A] = Nil;
protected val out: List[A] = itToList(elem.elements);
diff --git a/sources/scala/collection/immutable/Stack.scala b/sources/scala/collection/immutable/Stack.scala
index 5869280353..46b15794a3 100644
--- a/sources/scala/collection/immutable/Stack.scala
+++ b/sources/scala/collection/immutable/Stack.scala
@@ -22,6 +22,7 @@ object Stack {
* @author Matthias Zenger
* @version 1.0, 10/07/2003
*/
+[serializable]
class Stack[+A] extends Seq[A] {
/** Checks if this stack is empty.
@@ -122,7 +123,7 @@ class Stack[+A] extends Seq[A] {
override def stringPrefix: String = "Stack";
// Here comes true magic: covariant lists with implicit tail references
-
+ [serializable]
protected class Node[+B >: A](elem: B) extends Stack[B] {
override def isEmpty: Boolean = false;
override def length: Int = Stack.this.length + 1;
diff --git a/sources/scala/collection/immutable/Tree.scala b/sources/scala/collection/immutable/Tree.scala
index c6f48bae1e..8e304ffbd8 100644
--- a/sources/scala/collection/immutable/Tree.scala
+++ b/sources/scala/collection/immutable/Tree.scala
@@ -61,7 +61,8 @@ import java.lang.Math;
* @author Michel Schinz
* @version 1.1, 2005-01-20
*/
-abstract class Tree[A <% Ordered[A], B]() extends AnyRef {
+//[serializable]
+abstract class Tree[A <% Ordered[A], B]() extends AnyRef with java.io.Serializable {
/* Data structure:
** - size:Int - the number of elements in the tree.
** - tree:T, which is composed of nodes of the form:
@@ -223,8 +224,8 @@ private case class INode[A <% Ordered[A],B](t1: GBTree[A,B],
/**
* GBTree is an internal class used by Tree.
*/
-
-protected abstract class GBTree[A <% Ordered[A],B] extends AnyRef {
+//[serializable]
+protected abstract class GBTree[A <% Ordered[A],B] extends AnyRef with java.io.Serializable {
type aNode = GBTree[A,B];
type anInsertTree = InsertTree[A,B];
diff --git a/sources/scala/collection/immutable/TreeMap.scala b/sources/scala/collection/immutable/TreeMap.scala
index a2d4893564..b686d0afd2 100644
--- a/sources/scala/collection/immutable/TreeMap.scala
+++ b/sources/scala/collection/immutable/TreeMap.scala
@@ -19,7 +19,8 @@ object TreeMap {
* @author Matthias Zenger
* @version 1.1, 03/05/2004
*/
-class TreeMap[A <% Ordered[A], B] extends Tree[A, Pair[A, B]] with Map[A, B] {
+//[serializable]
+class TreeMap[A <% Ordered[A], B] extends Tree[A, Pair[A, B]] with Map[A, B] with java.io.Serializable {
override protected type This = TreeMap[A, B];
override protected def getThis: This = this;
diff --git a/sources/scala/collection/immutable/TreeSet.scala b/sources/scala/collection/immutable/TreeSet.scala
index 20847a17a0..1945386946 100644
--- a/sources/scala/collection/immutable/TreeSet.scala
+++ b/sources/scala/collection/immutable/TreeSet.scala
@@ -16,7 +16,8 @@ package scala.collection.immutable;
* @author Burak Emir
* @version 1.1, 03/05/2004
*/
-class TreeSet[A <% Ordered[A]]() extends Tree[A, A] with Set[A] {
+//[serializable]
+class TreeSet[A <% Ordered[A]]() extends Tree[A, A] with Set[A] with java.io.Serializable {
override protected type This = TreeSet[A];
override protected def getThis: This = this;
diff --git a/sources/scala/collection/mutable/ArrayBuffer.scala b/sources/scala/collection/mutable/ArrayBuffer.scala
index d7f5f5c0a8..e89e1a9c81 100644
--- a/sources/scala/collection/mutable/ArrayBuffer.scala
+++ b/sources/scala/collection/mutable/ArrayBuffer.scala
@@ -16,6 +16,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 15/03/2004
*/
+[serializable]
class ArrayBuffer[A] extends Buffer[A] with ResizableArray[A] {
def apply(n: Int): A = {
diff --git a/sources/scala/collection/mutable/BitSet.scala b/sources/scala/collection/mutable/BitSet.scala
index 30da819e67..b16114a795 100644
--- a/sources/scala/collection/mutable/BitSet.scala
+++ b/sources/scala/collection/mutable/BitSet.scala
@@ -14,11 +14,13 @@ package scala.collection.mutable ;
* @author Burak Emir
* @param initSize: initial size in nbits
*/
+[serializable]
class BitSet(initSize: Int) extends scala.collection.BitSet {
/** default constructor, initial size of 512 bits */
def this() = this( 512 ); // ResizableArray.initialSize << 5
+ [serializable]
class ByteArray extends AnyRef with ResizableArray[Int] {
final def ensureBits(nbits: Int): Unit = {
diff --git a/sources/scala/collection/mutable/DoubleLinkedList.scala b/sources/scala/collection/mutable/DoubleLinkedList.scala
index 36fa504afe..977f42b23a 100644
--- a/sources/scala/collection/mutable/DoubleLinkedList.scala
+++ b/sources/scala/collection/mutable/DoubleLinkedList.scala
@@ -17,6 +17,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
+[serializable]
abstract class DoubleLinkedList[A, This <: DoubleLinkedList[A, This]]: This
extends SingleLinkedList[A, This] {
diff --git a/sources/scala/collection/mutable/HashMap.scala b/sources/scala/collection/mutable/HashMap.scala
index 3f5fcdee90..6388b78f25 100644
--- a/sources/scala/collection/mutable/HashMap.scala
+++ b/sources/scala/collection/mutable/HashMap.scala
@@ -14,6 +14,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
+[serializable]
class HashMap[A, B] extends scala.collection.mutable.Map[A, B]
with HashTable[A]
with DefaultMapModel[A, B] {
diff --git a/sources/scala/collection/mutable/HashSet.scala b/sources/scala/collection/mutable/HashSet.scala
index 0cbfa1b53a..7f71b037b4 100644
--- a/sources/scala/collection/mutable/HashSet.scala
+++ b/sources/scala/collection/mutable/HashSet.scala
@@ -15,6 +15,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
+[serializable]
class HashSet[A] extends scala.collection.mutable.Set[A] with HashTable[A] {
def contains(elem: A): Boolean = findEntry(elem) match {
diff --git a/sources/scala/collection/mutable/HashTable.scala b/sources/scala/collection/mutable/HashTable.scala
index 37d51204f6..adcbc5aec5 100644
--- a/sources/scala/collection/mutable/HashTable.scala
+++ b/sources/scala/collection/mutable/HashTable.scala
@@ -28,7 +28,6 @@ import Predef._;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-[serializable]
abstract class HashTable[A] extends AnyRef {
/** The load factor for the hash table.
diff --git a/sources/scala/collection/mutable/History.scala b/sources/scala/collection/mutable/History.scala
index f00c8a26f4..43be629602 100644
--- a/sources/scala/collection/mutable/History.scala
+++ b/sources/scala/collection/mutable/History.scala
@@ -18,6 +18,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
+[serializable]
class History[A, B] extends AnyRef with Subscriber[A, B] with Iterable[Pair[B, A]] {
protected val log: Queue[Pair[B, A]] = new Queue[Pair[B, A]];
diff --git a/sources/scala/collection/mutable/ImmutableMapAdaptor.scala b/sources/scala/collection/mutable/ImmutableMapAdaptor.scala
index be275b3c04..5167636b40 100644
--- a/sources/scala/collection/mutable/ImmutableMapAdaptor.scala
+++ b/sources/scala/collection/mutable/ImmutableMapAdaptor.scala
@@ -19,6 +19,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 21/07/2003
*/
+[serializable]
class ImmutableMapAdaptor[A, B](m: scala.collection.immutable.Map[A, B]) extends Map[A, B] {
protected var imap = m;
diff --git a/sources/scala/collection/mutable/ImmutableSetAdaptor.scala b/sources/scala/collection/mutable/ImmutableSetAdaptor.scala
index 9f8bf98e5e..623074b3d9 100644
--- a/sources/scala/collection/mutable/ImmutableSetAdaptor.scala
+++ b/sources/scala/collection/mutable/ImmutableSetAdaptor.scala
@@ -19,6 +19,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 21/07/2003
*/
+[serializable]
class ImmutableSetAdaptor[A](s: scala.collection.immutable.Set[A]) extends Set[A] {
protected var set = s;
diff --git a/sources/scala/collection/mutable/LinkedList.scala b/sources/scala/collection/mutable/LinkedList.scala
index c04f612a9e..a8970da2ae 100644
--- a/sources/scala/collection/mutable/LinkedList.scala
+++ b/sources/scala/collection/mutable/LinkedList.scala
@@ -15,7 +15,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-
+[serializable]
class LinkedList[A](head: A, tail: LinkedList[A])
extends SingleLinkedList[A, LinkedList[A]]
{
diff --git a/sources/scala/collection/mutable/PriorityQueue.scala b/sources/scala/collection/mutable/PriorityQueue.scala
index acd81771bf..e9e44dbbd7 100644
--- a/sources/scala/collection/mutable/PriorityQueue.scala
+++ b/sources/scala/collection/mutable/PriorityQueue.scala
@@ -17,7 +17,8 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 03/05/2004
*/
-class PriorityQueue[A <% Ordered[A]] extends ResizableArray[A] with Cloneable {
+//[serializable]
+class PriorityQueue[A <% Ordered[A]] extends ResizableArray[A] with Cloneable with java.io.Serializable {
size = size + 1; // we do not use array(0)
protected def fixUp(as: Array[A], m: Int): Unit = {
diff --git a/sources/scala/collection/mutable/Queue.scala b/sources/scala/collection/mutable/Queue.scala
index 308bed6bad..c3e0020576 100644
--- a/sources/scala/collection/mutable/Queue.scala
+++ b/sources/scala/collection/mutable/Queue.scala
@@ -16,6 +16,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.1, 03/05/2004
*/
+[serializable]
class Queue[A] extends MutableList[A] with Cloneable {
/** Checks if the queue is empty.
diff --git a/sources/scala/collection/mutable/RevertableHistory.scala b/sources/scala/collection/mutable/RevertableHistory.scala
index 3bfc7cd2ed..c9bb1ef6d1 100644
--- a/sources/scala/collection/mutable/RevertableHistory.scala
+++ b/sources/scala/collection/mutable/RevertableHistory.scala
@@ -18,6 +18,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
+[serializable]
class RevertableHistory[A <: Undoable, B] extends History[A, B] with Undoable {
/** Rollback the full history.
diff --git a/sources/scala/collection/mutable/SingleLinkedList.scala b/sources/scala/collection/mutable/SingleLinkedList.scala
index ba1b141524..b60d32ba1b 100644
--- a/sources/scala/collection/mutable/SingleLinkedList.scala
+++ b/sources/scala/collection/mutable/SingleLinkedList.scala
@@ -18,6 +18,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
+[serializable]
abstract class SingleLinkedList[A, This <: SingleLinkedList[A, This]]: This extends AnyRef with Seq[A] {
var elem: A = _;
diff --git a/sources/scala/collection/mutable/Stack.scala b/sources/scala/collection/mutable/Stack.scala
index 756b1637e3..135d21a70c 100644
--- a/sources/scala/collection/mutable/Stack.scala
+++ b/sources/scala/collection/mutable/Stack.scala
@@ -16,6 +16,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.1, 03/05/2004
*/
+[serializable]
class Stack[A] extends MutableList[A] with Cloneable {
/** Checks if the stack is empty.
diff --git a/sources/scala/xml/Atom.scala b/sources/scala/xml/Atom.scala
index 1b44c6b104..37548a9ef3 100644
--- a/sources/scala/xml/Atom.scala
+++ b/sources/scala/xml/Atom.scala
@@ -14,6 +14,7 @@ package scala.xml;
* @author Burak Emir
* @param text the text contained in this node, may not be null.
*/
+[serializable]
class Atom[+A]( val data: A ) extends SpecialNode {
final override def typeTag$:Int = -1;