diff options
author | amin <nada.amin@epfl.ch> | 2012-09-11 15:09:03 +0200 |
---|---|---|
committer | amin <nada.amin@epfl.ch> | 2012-09-13 21:13:30 +0200 |
commit | e498fac7fdbda3187a2a4fffcdf7fa4f9ddb7ac8 (patch) | |
tree | 869c6a61906d00833e9c1093e221f40f2681b8e3 /test/files | |
parent | 76d4e9a8071f9e102106696664376b7f70622582 (diff) | |
download | scala-e498fac7fdbda3187a2a4fffcdf7fa4f9ddb7ac8.tar.gz scala-e498fac7fdbda3187a2a4fffcdf7fa4f9ddb7ac8.tar.bz2 scala-e498fac7fdbda3187a2a4fffcdf7fa4f9ddb7ac8.zip |
Fix for SI-6245 with workaround for SI-2296.
protected/super accessor issue: Don't subvert the creation of the
standard protected accessor with the java interop accessor. For
SI-2296, the compiler emits an error instead of causing an illegal
access error at runtime.
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/neg/t2296a.check | 5 | ||||
-rw-r--r-- | test/files/neg/t2296a/J.java (renamed from test/files/run/t2296a/J.java) | 0 | ||||
-rw-r--r-- | test/files/neg/t2296a/S.scala (renamed from test/files/run/t2296a/S.scala) | 0 | ||||
-rw-r--r-- | test/files/neg/t2296b.check | 5 | ||||
-rw-r--r-- | test/files/neg/t2296b/J_1.java (renamed from test/files/run/t2296b/J_1.java) | 0 | ||||
-rw-r--r-- | test/files/neg/t2296b/S_2.scala (renamed from test/files/run/t2296b/S_2.scala) | 0 | ||||
-rw-r--r-- | test/files/pos/t6245/Base.java | 5 | ||||
-rw-r--r-- | test/files/pos/t6245/Foo.scala | 9 | ||||
-rw-r--r-- | test/files/pos/t6245/Vis.java | 3 | ||||
-rw-r--r-- | test/files/run/t2296a.check | 2 | ||||
-rw-r--r-- | test/files/run/t2296b.check | 2 |
11 files changed, 27 insertions, 4 deletions
diff --git a/test/files/neg/t2296a.check b/test/files/neg/t2296a.check new file mode 100644 index 0000000000..863b861046 --- /dev/null +++ b/test/files/neg/t2296a.check @@ -0,0 +1,5 @@ +S.scala:6: error: Implementation restriction: trait S accesses protected method foo inside a concrete trait method. +Add an accessor in a class extending class J as a workaround. + foo() + ^ +one error found diff --git a/test/files/run/t2296a/J.java b/test/files/neg/t2296a/J.java index 78ff3e9804..78ff3e9804 100644 --- a/test/files/run/t2296a/J.java +++ b/test/files/neg/t2296a/J.java diff --git a/test/files/run/t2296a/S.scala b/test/files/neg/t2296a/S.scala index 532d038a42..532d038a42 100644 --- a/test/files/run/t2296a/S.scala +++ b/test/files/neg/t2296a/S.scala diff --git a/test/files/neg/t2296b.check b/test/files/neg/t2296b.check new file mode 100644 index 0000000000..07cc54d573 --- /dev/null +++ b/test/files/neg/t2296b.check @@ -0,0 +1,5 @@ +S_2.scala:6: error: Implementation restriction: trait S accesses protected method foo inside a concrete trait method. +Add an accessor in a class extending class J_1 as a workaround. + foo() + ^ +one error found diff --git a/test/files/run/t2296b/J_1.java b/test/files/neg/t2296b/J_1.java index 4c91d47073..4c91d47073 100644 --- a/test/files/run/t2296b/J_1.java +++ b/test/files/neg/t2296b/J_1.java diff --git a/test/files/run/t2296b/S_2.scala b/test/files/neg/t2296b/S_2.scala index 6cdb0cfaba..6cdb0cfaba 100644 --- a/test/files/run/t2296b/S_2.scala +++ b/test/files/neg/t2296b/S_2.scala diff --git a/test/files/pos/t6245/Base.java b/test/files/pos/t6245/Base.java new file mode 100644 index 0000000000..651ea08bf2 --- /dev/null +++ b/test/files/pos/t6245/Base.java @@ -0,0 +1,5 @@ +package t1; + +public class Base { + protected Vis inner; +} diff --git a/test/files/pos/t6245/Foo.scala b/test/files/pos/t6245/Foo.scala new file mode 100644 index 0000000000..f5f997fbff --- /dev/null +++ b/test/files/pos/t6245/Foo.scala @@ -0,0 +1,9 @@ +import t1.Vis + +abstract class Foo extends t1.Base { + trait Nested { + def crash() { + inner + } + } +} diff --git a/test/files/pos/t6245/Vis.java b/test/files/pos/t6245/Vis.java new file mode 100644 index 0000000000..4267f4e40b --- /dev/null +++ b/test/files/pos/t6245/Vis.java @@ -0,0 +1,3 @@ +package t1; + +public class Vis { } diff --git a/test/files/run/t2296a.check b/test/files/run/t2296a.check deleted file mode 100644 index f75aec9d81..0000000000 --- a/test/files/run/t2296a.check +++ /dev/null @@ -1,2 +0,0 @@ -J.foo() -J.foo() diff --git a/test/files/run/t2296b.check b/test/files/run/t2296b.check deleted file mode 100644 index f75aec9d81..0000000000 --- a/test/files/run/t2296b.check +++ /dev/null @@ -1,2 +0,0 @@ -J.foo() -J.foo() |