summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-03-29 19:05:13 +0100
committerJason Zaugg <jzaugg@gmail.com>2013-03-30 10:00:46 +0100
commit54d11fe5451a9f26207ce283f2df1114c89384dd (patch)
tree72a541fb877533066dc736573d3d765ad08551e4 /test
parent7894c1b24fddc91fbec53a9906e3c8b8e8a4e61a (diff)
downloadscala-54d11fe5451a9f26207ce283f2df1114c89384dd.tar.gz
scala-54d11fe5451a9f26207ce283f2df1114c89384dd.tar.bz2
scala-54d11fe5451a9f26207ce283f2df1114c89384dd.zip
SI-7312 @deprecatedInheritance now ignores same-file subclasses
This allows us to deprecate external inheritances as a prelude to sealing a class, without enduring the warnings ourselved in interlude.
Diffstat (limited to 'test')
-rw-r--r--test/files/neg/t6162-inheritance.check10
-rw-r--r--test/files/neg/t6162-inheritance/defn.scala10
-rw-r--r--test/files/neg/t6162-inheritance/usage.scala10
-rw-r--r--test/files/pos/t6162-inheritance.flags1
-rw-r--r--test/files/pos/t6162-inheritance.scala (renamed from test/files/neg/t6162-inheritance.scala)3
5 files changed, 29 insertions, 5 deletions
diff --git a/test/files/neg/t6162-inheritance.check b/test/files/neg/t6162-inheritance.check
index e98fa79eb7..13c78030d9 100644
--- a/test/files/neg/t6162-inheritance.check
+++ b/test/files/neg/t6162-inheritance.check
@@ -1,16 +1,16 @@
-t6162-inheritance.scala:6: warning: inheritance from class Foo in package t6126 is deprecated: `Foo` will be made final in a future version.
+usage.scala:3: warning: inheritance from class Foo in package t6126 is deprecated: `Foo` will be made final in a future version.
class SubFoo extends Foo
^
-t6162-inheritance.scala:11: warning: inheritance from trait T in package t6126 is deprecated
+usage.scala:5: warning: inheritance from trait T in package t6126 is deprecated
object SubT extends T
^
-t6162-inheritance.scala:17: warning: inheritance from trait S in package t6126 is deprecated
+usage.scala:8: warning: inheritance from trait S in package t6126 is deprecated
new S {
^
-t6162-inheritance.scala:6: warning: inheritance from class Foo in package t6126 is deprecated: `Foo` will be made final in a future version.
+usage.scala:3: warning: inheritance from class Foo in package t6126 is deprecated: `Foo` will be made final in a future version.
class SubFoo extends Foo
^
-t6162-inheritance.scala:11: warning: inheritance from trait T in package t6126 is deprecated
+usage.scala:5: warning: inheritance from trait T in package t6126 is deprecated
object SubT extends T
^
error: No warnings can be incurred under -Xfatal-warnings.
diff --git a/test/files/neg/t6162-inheritance/defn.scala b/test/files/neg/t6162-inheritance/defn.scala
new file mode 100644
index 0000000000..bb582d27b0
--- /dev/null
+++ b/test/files/neg/t6162-inheritance/defn.scala
@@ -0,0 +1,10 @@
+package scala.t6126
+
+@deprecatedInheritance("`Foo` will be made final in a future version.", "2.10.0")
+class Foo
+
+@deprecatedInheritance()
+trait T
+
+@deprecatedInheritance()
+trait S
diff --git a/test/files/neg/t6162-inheritance/usage.scala b/test/files/neg/t6162-inheritance/usage.scala
new file mode 100644
index 0000000000..097e4f5903
--- /dev/null
+++ b/test/files/neg/t6162-inheritance/usage.scala
@@ -0,0 +1,10 @@
+package scala.t6126
+
+class SubFoo extends Foo
+
+object SubT extends T
+
+object O {
+ new S {
+ }
+}
diff --git a/test/files/pos/t6162-inheritance.flags b/test/files/pos/t6162-inheritance.flags
new file mode 100644
index 0000000000..c6bfaf1f64
--- /dev/null
+++ b/test/files/pos/t6162-inheritance.flags
@@ -0,0 +1 @@
+-deprecation -Xfatal-warnings
diff --git a/test/files/neg/t6162-inheritance.scala b/test/files/pos/t6162-inheritance.scala
index 7b47b9285a..fca751edab 100644
--- a/test/files/neg/t6162-inheritance.scala
+++ b/test/files/pos/t6162-inheritance.scala
@@ -1,5 +1,8 @@
package scala.t6126
+// Don't warn about inheritance in the same file.
+// We might use that as a prelude to sealing a class.
+
@deprecatedInheritance("`Foo` will be made final in a future version.", "2.10.0")
class Foo