diff options
author | Hubert Plociniczak <hubert.plociniczak@epfl.ch> | 2010-11-02 00:15:16 +0000 |
---|---|---|
committer | Hubert Plociniczak <hubert.plociniczak@epfl.ch> | 2010-11-02 00:15:16 +0000 |
commit | bcfe76ee680852c66781882d70ac02bd76e09ac9 (patch) | |
tree | 72d8a56d40bec04f0290a9909a6cff384d1ff4fb /test/files/run/t3038.scala | |
parent | b80f27780458da880d47392e4ac747d196af355e (diff) | |
download | scala-bcfe76ee680852c66781882d70ac02bd76e09ac9.tar.gz scala-bcfe76ee680852c66781882d70ac02bd76e09ac9.tar.bz2 scala-bcfe76ee680852c66781882d70ac02bd76e09ac9.zip |
Added separate bitmaps for private and transien...
Added separate bitmaps for private and transient lazy vals. Closes
#3038, #1573. Review by dragos. I had to fix a couple of initialization
issues that checkinit forced me to do and that weren't a problem before
because the bitmap was serialized even for @transitive. For that I
needed to change the setters in checkinit so that they also update the
bitmap.
Diffstat (limited to 'test/files/run/t3038.scala')
-rw-r--r-- | test/files/run/t3038.scala | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/test/files/run/t3038.scala b/test/files/run/t3038.scala new file mode 100644 index 0000000000..cf26001beb --- /dev/null +++ b/test/files/run/t3038.scala @@ -0,0 +1,68 @@ +class A { + private lazy val a1 = "a1" + object B + private lazy val a2 = "a2" + + + @transient lazy val a3 = "a3" + @transient private lazy val a4 = "a4" + @transient lazy val a5 = "a5" + @transient private lazy val a6 = "a6" + + final val a7 = "a7" + private final val a8 = "a8" + @transient final val a9 = "a9" + + + + + def run = { + println(a1) + B + println(a2) + println(a3) + println(a4) + println(a5) + println(a6) + println(a7) + println(a8) + println(a9) + } +} + +class C extends A { + private lazy val c1 = "c1" + lazy val c2 = "c2" + + private lazy val c3 = "c3" + + @transient lazy val c4 = "c4" + @transient private lazy val c5 = "c5" + @transient lazy val c6 = "c6" + @transient private lazy val c7 = "c7" + lazy val c8 = "c8" + + final val c9 = "c9" + private final val c10 = "c10" + + + + override def run = { + super.run + println(c1) + println(c2) + println(c3) + println(c4) + println(c5) + println(c6) + println(c7) + println(c8) + println(c9) + println(c10) + } +} + +object Test extends Application { + (new C).run +} + |