summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@epfl.ch>2010-08-13 16:21:44 +0000
committerAdriaan Moors <adriaan.moors@epfl.ch>2010-08-13 16:21:44 +0000
commitd0f20624930e529f327ebc83cf2c042056cabb7f (patch)
tree5fedaeaeb8f412f894c60c24c182921191e9f85e /test/files
parent9550c2077cc69434a460171ddd021a1de7ca1da4 (diff)
downloadscala-d0f20624930e529f327ebc83cf2c042056cabb7f.tar.gz
scala-d0f20624930e529f327ebc83cf2c042056cabb7f.tar.bz2
scala-d0f20624930e529f327ebc83cf2c042056cabb7f.zip
closes #3663.
namers wasn't setting privateWithin on java-defined variables (btw, ) shouldn't clone carry over privateWithin? better treatment of linked ) class access boundary (only check for access within linked class if it ) actually exists ) would have liked more control for the test case: only javac should compile the java file, then scalac should compile the scala file and fail review by odersky
Diffstat (limited to 'test/files')
-rw-r--r--test/files/neg/t3663.check4
-rw-r--r--test/files/neg/t3663/PackageProtected.java5
-rw-r--r--test/files/neg/t3663/main.scala14
3 files changed, 23 insertions, 0 deletions
diff --git a/test/files/neg/t3663.check b/test/files/neg/t3663.check
new file mode 100644
index 0000000000..09ea25ad91
--- /dev/null
+++ b/test/files/neg/t3663.check
@@ -0,0 +1,4 @@
+main.scala:11: error: variable foo cannot be accessed in test.Test
+ println(t.foo)
+ ^
+one error found
diff --git a/test/files/neg/t3663/PackageProtected.java b/test/files/neg/t3663/PackageProtected.java
new file mode 100644
index 0000000000..f4535a55b4
--- /dev/null
+++ b/test/files/neg/t3663/PackageProtected.java
@@ -0,0 +1,5 @@
+package test;
+
+class PackageProtected {
+ int foo;
+}
diff --git a/test/files/neg/t3663/main.scala b/test/files/neg/t3663/main.scala
new file mode 100644
index 0000000000..29619550cc
--- /dev/null
+++ b/test/files/neg/t3663/main.scala
@@ -0,0 +1,14 @@
+package test
+
+final class Test extends PackageProtected {
+ def bar = foo
+}
+
+package another {
+ object Main {
+ def bug(t: Test) {
+ // Can always be replicated.
+ println(t.foo)
+ }
+ }
+} \ No newline at end of file