summaryrefslogblamecommitdiff
path: root/test/files/jvm/t2511.scala
blob: d4b5e83d0f9ff77c02a6b959a026d875f86f92f5 (plain) (tree)





























                                                                 
object Test {

  import java.io._

  trait IMyMessage extends Serializable {
    @transient var message: String = null
  }

  class MyMessage extends IMyMessage

  def serialize = {
    val buf = new ByteArrayOutputStream(10000)
    val out = new ObjectOutputStream(buf)
    val m = new MyMessage
    m.message = "foo"
    out.writeObject(m)
    out.flush
    buf.toByteArray
  }

  def unserialize(buf:Array[Byte]) = {
    val in = new ObjectInputStream(new ByteArrayInputStream(buf))
    in.readObject.asInstanceOf[MyMessage]
  }

  def main(args: Array[String]) {
    val m = unserialize(serialize)
    println(m.message)
  }
}