summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Typers.scala
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@epfl.ch>2010-08-03 20:03:08 +0000
committerLukas Rytz <lukas.rytz@epfl.ch>2010-08-03 20:03:08 +0000
commitdb99926628a2b636a548049c1204fee78c77b9bb (patch)
tree88122a98135c3c2165ad6364819a66854d61ec16 /src/compiler/scala/tools/nsc/typechecker/Typers.scala
parent958fb1c6f48aeecf5fc56ad9debbfad8d6d0fc66 (diff)
downloadscala-db99926628a2b636a548049c1204fee78c77b9bb.tar.gz
scala-db99926628a2b636a548049c1204fee78c77b9bb.tar.bz2
scala-db99926628a2b636a548049c1204fee78c77b9bb.zip
added @deprecatedName annotation, allowing to d...
added @deprecatedName annotation, allowing to deprecate parameter names. review by prokopec.
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Typers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index 043c41fc10..770daccef0 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -1758,6 +1758,16 @@ trait Typers { self: Analyzer =>
meth.paramss.exists(ps => ps.exists(_.hasFlag(DEFAULTPARAM)) && isRepeatedParamType(ps.last.tpe)))
error(meth.pos, "a parameter section with a `*'-parameter is not allowed to have default arguments")
+ if (phase.id <= currentRun.typerPhase.id) {
+ val allParams = meth.paramss.flatten
+ for (p <- allParams) {
+ deprecatedName(p).foreach(n => {
+ if (allParams.exists(p1 => p1.name == n || (p != p1 && deprecatedName(p1) == Some(n))))
+ error(p.pos, "deprecated parameter name "+ n +" has to be distinct from any other parameter name (deprecated or not).")
+ })
+ }
+ }
+
checkMethodStructuralCompatible(meth)
treeCopy.DefDef(ddef, typedMods, ddef.name, tparams1, vparamss1, tpt1, rhs1) setType NoType