summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-11-10 15:02:54 +0000
committerPaul Phillips <paulp@improving.org>2010-11-10 15:02:54 +0000
commit37d9130f9fa9d90d2e4b31d3004e4e1b1df58d5c (patch)
tree66631774a075482bb6f8221a671f3e12b34fed5e /test/files
parent903478337c9b83ea9317d1dab311c62f654a7a45 (diff)
downloadscala-37d9130f9fa9d90d2e4b31d3004e4e1b1df58d5c.tar.gz
scala-37d9130f9fa9d90d2e4b31d3004e4e1b1df58d5c.tar.bz2
scala-37d9130f9fa9d90d2e4b31d3004e4e1b1df58d5c.zip
protected[this] members should be accessible to...
protected[this] members should be accessible to super.x calls. Closes #464, review by odersky.
Diffstat (limited to 'test/files')
-rw-r--r--test/files/neg/bug464-neg.check16
-rw-r--r--test/files/neg/bug464-neg.scala12
-rw-r--r--test/files/pos/bug464.scala13
3 files changed, 41 insertions, 0 deletions
diff --git a/test/files/neg/bug464-neg.check b/test/files/neg/bug464-neg.check
new file mode 100644
index 0000000000..7921c5a4f8
--- /dev/null
+++ b/test/files/neg/bug464-neg.check
@@ -0,0 +1,16 @@
+bug464-neg.scala:7: error: not found: value f1
+ f1()
+ ^
+bug464-neg.scala:8: error: method f1 in class A cannot be accessed in A with ScalaObject
+ super.f1()
+ ^
+bug464-neg.scala:9: error: value f2 is not a member of B
+ def otherb(b2: B) = b2.f2()
+ ^
+bug464-neg.scala:10: error: method f3 in class A cannot be accessed in B
+ f3()
+ ^
+bug464-neg.scala:11: error: method f3 in class A cannot be accessed in A with ScalaObject
+ super.f3()
+ ^
+5 errors found
diff --git a/test/files/neg/bug464-neg.scala b/test/files/neg/bug464-neg.scala
new file mode 100644
index 0000000000..138fa8e869
--- /dev/null
+++ b/test/files/neg/bug464-neg.scala
@@ -0,0 +1,12 @@
+class A {
+ private[this] def f1() {}
+ protected[this] def f2() {}
+ private[A] def f3() {}
+}
+class B extends A {
+ f1()
+ super.f1()
+ def otherb(b2: B) = b2.f2()
+ f3()
+ super.f3()
+} \ No newline at end of file
diff --git a/test/files/pos/bug464.scala b/test/files/pos/bug464.scala
new file mode 100644
index 0000000000..45521335c3
--- /dev/null
+++ b/test/files/pos/bug464.scala
@@ -0,0 +1,13 @@
+class A {
+ protected[this] def f() {}
+}
+class B extends A {
+ f()
+ super.f()
+}
+class C extends A {
+ override protected[this] def f() = super.f()
+}
+class D extends C {
+ override protected def f() = super.f()
+} \ No newline at end of file