summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Typers.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-09-10 23:25:40 +0200
committerJason Zaugg <jzaugg@gmail.com>2012-09-11 00:19:05 +0200
commit028de5d78225d3eb4d41d87bdbe56b7631ef76d1 (patch)
treea6d847d01d41347c2af488d3b4f5564415a2ab2e /src/compiler/scala/tools/nsc/typechecker/Typers.scala
parentc78fe024711925c40f9fc15221ea04a6f99a5691 (diff)
downloadscala-028de5d78225d3eb4d41d87bdbe56b7631ef76d1.tar.gz
scala-028de5d78225d3eb4d41d87bdbe56b7631ef76d1.tar.bz2
scala-028de5d78225d3eb4d41d87bdbe56b7631ef76d1.zip
Rescues @deprecated{Inheritance, Overriding}
While they ought to be generalized to aribirary modifier changes before being offered in the standard library, the opportunity to use them in 2.10 is too important to pass up. So for now, they're private[scala]. En route: - made the error messages more concise - fix positioning of inheritance error - improve test coverage
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Typers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index df97e451d1..3913c4f815 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -1578,12 +1578,9 @@ trait Typers extends Modes with Adaptations with Tags {
pending += ParentFinalInheritanceError(parent, psym)
if (psym.hasDeprecatedInheritanceAnnotation) {
- val sym = selfType.typeSymbol
- val msg =
- sym.toString + sym.locationString + " inherits from " + psym.toString + psym.locationString +
- ", but inheriting from that class is deprecated" +
- psym.deprecatedInheritanceMessage.map(": " + _).getOrElse(".")
- unit.deprecationWarning(sym.pos, msg)
+ val suffix = psym.deprecatedInheritanceMessage map (": " + _) getOrElse ""
+ val msg = s"inheritance from ${psym.fullLocationString} is deprecated$suffix"
+ unit.deprecationWarning(parent.pos, msg)
}
if (psym.isSealed && !phase.erasedTypes)