summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2010-03-04 14:06:18 +0000
committerMartin Odersky <odersky@gmail.com>2010-03-04 14:06:18 +0000
commit1e84701e1b9f2c63eec4e1179a50d578f75faa42 (patch)
treed1e97422413bcf81ad8fe424f55c3339e4b3b0b9
parent006eee0388d2357d636036d881ea3baa23495a07 (diff)
downloadscala-1e84701e1b9f2c63eec4e1179a50d578f75faa42.tar.gz
scala-1e84701e1b9f2c63eec4e1179a50d578f75faa42.tar.bz2
scala-1e84701e1b9f2c63eec4e1179a50d578f75faa42.zip
Closes #3118. review by extempore
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Flags.scala2
-rw-r--r--test/files/neg/t3118.check7
-rw-r--r--test/files/neg/t3118.scala8
3 files changed, 16 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Flags.scala b/src/compiler/scala/tools/nsc/symtab/Flags.scala
index 0b1315a18b..2978d6cb0a 100644
--- a/src/compiler/scala/tools/nsc/symtab/Flags.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Flags.scala
@@ -53,7 +53,7 @@ object Flags extends reflect.generic.Flags {
final val FieldFlags: Long =
MUTABLE | CASEACCESSOR | PARAMACCESSOR | STATIC | FINAL | PRESUPER | LAZY
- final val AccessFlags: Long = PRIVATE | PROTECTED
+ final val AccessFlags: Long = PRIVATE | PROTECTED | LOCAL
final val VARIANCES = COVARIANT | CONTRAVARIANT
final val ConstrFlags: Long = JAVA
diff --git a/test/files/neg/t3118.check b/test/files/neg/t3118.check
new file mode 100644
index 0000000000..da00f1c330
--- /dev/null
+++ b/test/files/neg/t3118.check
@@ -0,0 +1,7 @@
+t3118.scala:6: error: value C is not a member of O1
+ println(x.C()) // should not be accessible
+ ^
+t3118.scala:7: error: type C is not a member of O1
+ println(new x.C) // is correctly not accessible
+ ^
+two errors found
diff --git a/test/files/neg/t3118.scala b/test/files/neg/t3118.scala
new file mode 100644
index 0000000000..9be24c1ed4
--- /dev/null
+++ b/test/files/neg/t3118.scala
@@ -0,0 +1,8 @@
+class O1 {
+ private[this] case class C()
+
+ val x = new O1
+
+ println(x.C()) // should not be accessible
+ println(new x.C) // is correctly not accessible
+}