diff options
author | Paul Phillips <paulp@improving.org> | 2012-03-08 02:07:34 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-03-08 02:32:09 -0800 |
commit | 42f90593538a16a285a9bb605da9fd9116e71a57 (patch) | |
tree | b597c3a9c031eb08ff2f2f3e155894637fda5f9c /test/files/run | |
parent | 3da50752476ca87e90ad0d2906ee783507b0199c (diff) | |
download | scala-42f90593538a16a285a9bb605da9fd9116e71a57.tar.gz scala-42f90593538a16a285a9bb605da9fd9116e71a57.tar.bz2 scala-42f90593538a16a285a9bb605da9fd9116e71a57.zip |
Wider net on final fields.
This should exclude everything mutable. I'm open to suggestions
as to what sort of final fields we can safely allow beyond these,
if any.
Diffstat (limited to 'test/files/run')
-rw-r--r-- | test/files/run/t3569.check | 19 | ||||
-rw-r--r-- | test/files/run/t3569.scala | 22 |
2 files changed, 26 insertions, 15 deletions
diff --git a/test/files/run/t3569.check b/test/files/run/t3569.check index aa19916324..24cee4bf00 100644 --- a/test/files/run/t3569.check +++ b/test/files/run/t3569.check @@ -1,14 +1,17 @@ 1 -private final int Test$X.x2 -private final int Test$X.x3 -private final int Test$X.x5 -private final int Test$X.x6 -private final int Test$X.x7 -private int Test$X.x4 +private final int Test$X.val1 +private final int Test$X.val2 +private final int Test$X.val3 +private int Test$X.lval1 +private int Test$X.lval2 +private int Test$X.lval3 +private int Test$X.var1 +private int Test$X.var2 +private int Test$X.var3 private volatile int Test$X.bitmap$priv$0 public int Test$X.x public volatile int Test$X.bitmap$0 -private int Test$Y.z1 +public final int Test$Y.z1 +public final int Test$Y.z2 public int Test$Y.x public int Test$Y.y -public int Test$Y.z2 diff --git a/test/files/run/t3569.scala b/test/files/run/t3569.scala index e553f16ff8..4699aeaab3 100644 --- a/test/files/run/t3569.scala +++ b/test/files/run/t3569.scala @@ -1,15 +1,23 @@ object Test { + final val bippy1 = 1 + final lazy val bippy2 = 2 + lazy val lv = scala.util.Random.nextInt() class X(final var x: Int) { - final private[this] var x2: Int = 0 - final var x3: Int = 0 - private[this] var x4: Int = 0 - final private[this] var x5: Int = 0 - final lazy val x6: Int = 0 - final private[this] lazy val x7: Int = 0 + final var var1: Int = 0 + final private var var2: Int = 0 + final private[this] var var3: Int = 0 + + final val val1: Int = 1 + final private val val2: Int = 1 + final private[this] val val3: Int = 1 + + final lazy val lval1: Int = 2 + final private lazy val lval2: Int = 2 + final private[this] lazy val lval3: Int = 2 } - case class Y(final var x: Int, final private var y: Int, var z1: Int, private var z2: Int) { } + case class Y(final var x: Int, final private var y: Int, final val z1: Int, final private val z2: Int) { } def f = new X(0).x += 1 def main(args: Array[String]) { |