diff options
author | Martin Odersky <odersky@gmail.com> | 2006-04-25 14:01:59 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2006-04-25 14:01:59 +0000 |
commit | 88cd71a283f25b20414b1a22b9fded83692ffc14 (patch) | |
tree | 921d9a72ae56ac70d11ba1a58ee274cb8808a60d /src/compiler/scala/tools/nsc/typechecker/Namers.scala | |
parent | 8e1da29a68f7d494a89a1922e3b30e39b245da63 (diff) | |
download | scala-88cd71a283f25b20414b1a22b9fded83692ffc14.tar.gz scala-88cd71a283f25b20414b1a22b9fded83692ffc14.tar.bz2 scala-88cd71a283f25b20414b1a22b9fded83692ffc14.zip |
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Namers.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Namers.scala | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala index 6c42012d18..a74c7f20b9 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala @@ -22,8 +22,8 @@ trait Namers requires Analyzer { class DeSkolemizeMap(tparams: List[Symbol]) extends TypeMap { def apply(tp: Type): Type = tp match { case TypeRef(pre, sym, args) => - val tparam = sym.deSkolemize; - mapOver( + val tparam = sym.deSkolemize; + mapOver( if (tparam == sym || !(tparams contains tparam)) tp else rawTypeRef(NoPrefix, tparam, args)) case SingleType(pre, sym) if (sym.isThisSkolem) => @@ -551,6 +551,8 @@ trait Namers requires Analyzer { "\nit should be omitted for abstract members"); if (sym.hasFlag(OVERRIDE | ABSOVERRIDE) && sym.isClass) context.error(sym.pos, "`override' modifier not allowed for classes"); + if (sym.hasFlag(OVERRIDE | ABSOVERRIDE) && sym.isConstructor) + context.error(sym.pos, "`override' modifier not allowed for constructors"); if (sym.hasFlag(ABSOVERRIDE) && !sym.owner.isTrait) context.error(sym.pos, "`abstract override' modifier only allowed for members of traits"); if (sym.info.symbol == FunctionClass(0) && |