From 54d11fe5451a9f26207ce283f2df1114c89384dd Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Fri, 29 Mar 2013 19:05:13 +0100 Subject: 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. --- test/files/neg/t6162-inheritance.check | 10 +++++----- test/files/neg/t6162-inheritance.scala | 19 ------------------- test/files/neg/t6162-inheritance/defn.scala | 10 ++++++++++ test/files/neg/t6162-inheritance/usage.scala | 10 ++++++++++ test/files/pos/t6162-inheritance.flags | 1 + test/files/pos/t6162-inheritance.scala | 22 ++++++++++++++++++++++ 6 files changed, 48 insertions(+), 24 deletions(-) delete mode 100644 test/files/neg/t6162-inheritance.scala create mode 100644 test/files/neg/t6162-inheritance/defn.scala create mode 100644 test/files/neg/t6162-inheritance/usage.scala create mode 100644 test/files/pos/t6162-inheritance.flags create mode 100644 test/files/pos/t6162-inheritance.scala (limited to 'test') 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.scala b/test/files/neg/t6162-inheritance.scala deleted file mode 100644 index 7b47b9285a..0000000000 --- a/test/files/neg/t6162-inheritance.scala +++ /dev/null @@ -1,19 +0,0 @@ -package scala.t6126 - -@deprecatedInheritance("`Foo` will be made final in a future version.", "2.10.0") -class Foo - -class SubFoo extends Foo - -@deprecatedInheritance() -trait T - -object SubT extends T - -@deprecatedInheritance() -trait S - -object O { - new S { - } -} 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/pos/t6162-inheritance.scala b/test/files/pos/t6162-inheritance.scala new file mode 100644 index 0000000000..fca751edab --- /dev/null +++ b/test/files/pos/t6162-inheritance.scala @@ -0,0 +1,22 @@ +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 + +class SubFoo extends Foo + +@deprecatedInheritance() +trait T + +object SubT extends T + +@deprecatedInheritance() +trait S + +object O { + new S { + } +} -- cgit v1.2.3