summaryrefslogtreecommitdiff
path: root/test/files/scalap/caseClass
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@epfl.ch>2010-11-30 15:38:56 +0000
committerLukas Rytz <lukas.rytz@epfl.ch>2010-11-30 15:38:56 +0000
commit4be5e11cccace4974ed9a449052455392570139f (patch)
tree88c86bc65b88df08b48584ed791acd1619983c0c /test/files/scalap/caseClass
parent402d96dd3fab6ae677966a9a258c00b3f34a37ed (diff)
downloadscala-4be5e11cccace4974ed9a449052455392570139f.tar.gz
scala-4be5e11cccace4974ed9a449052455392570139f.tar.bz2
scala-4be5e11cccace4974ed9a449052455392570139f.zip
Deprecated the @serializable annotation, introd...
Deprecated the @serializable annotation, introduce a new trait "scala.Serializable" which has to be extended instead (cross-platform). Known issues: - Companion objects of serializable classes (including case classes) are automatically made serializable. However, they don't extend "Serializable" statically because of the known difficulty (should be done before typing, but hard). - Writing "case class C() extends Serializable" gives "error: trait Serializable is inherited twice" - Functions are serializable, but don't extend Serializable dynamically (could be fixed by making FunctionN Serializable - shouldn't we?) Note that @SerialVersionUID continues to be an annotation; it generates a static field, which is not possible otherwise in scala. Review by dragos, extempore. Question to dragos: in JavaPlatform.isMaybeBoxed, why is there a test for "JavaSerializableClass"? Is that correct?
Diffstat (limited to 'test/files/scalap/caseClass')
-rw-r--r--test/files/scalap/caseClass/result.test5
1 files changed, 2 insertions, 3 deletions
diff --git a/test/files/scalap/caseClass/result.test b/test/files/scalap/caseClass/result.test
index eb1ad74295..9b65be4b48 100644
--- a/test/files/scalap/caseClass/result.test
+++ b/test/files/scalap/caseClass/result.test
@@ -1,5 +1,4 @@
-@scala.serializable
-case class CaseClass[A <: scala.Seq[scala.Int]](i : A, s : scala.Predef.String) extends java.lang.Object with scala.ScalaObject with scala.Product {
+case class CaseClass[A <: scala.Seq[scala.Int]](i : A, s : scala.Predef.String) extends java.lang.Object with scala.ScalaObject with scala.Product with scala.Serializable {
val i : A = { /* compiled code */ }
val s : scala.Predef.String = { /* compiled code */ }
def foo : scala.Int = { /* compiled code */ }
@@ -11,4 +10,4 @@ case class CaseClass[A <: scala.Seq[scala.Int]](i : A, s : scala.Predef.String)
override def productArity : scala.Int = { /* compiled code */ }
override def productElement(x$1 : scala.Int) : scala.Any = { /* compiled code */ }
override def canEqual(x$1 : scala.Any) : scala.Boolean = { /* compiled code */ }
-} \ No newline at end of file
+}