summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-03-08 02:07:34 -0800
committerPaul Phillips <paulp@improving.org>2012-03-08 02:32:09 -0800
commit42f90593538a16a285a9bb605da9fd9116e71a57 (patch)
treeb597c3a9c031eb08ff2f2f3e155894637fda5f9c /test/files
parent3da50752476ca87e90ad0d2906ee783507b0199c (diff)
downloadscala-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')
-rw-r--r--test/files/run/t3569.check19
-rw-r--r--test/files/run/t3569.scala22
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]) {