summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Namers.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2008-06-24 12:45:25 +0000
committerMartin Odersky <odersky@gmail.com>2008-06-24 12:45:25 +0000
commitb0c36c7a7c646caf95c7cda4a91681d243a0508d (patch)
treedc8d173de52c9c0f4bafd8db473b0e6431007f84 /src/compiler/scala/tools/nsc/typechecker/Namers.scala
parentd8b12acb937667e1356af049c594302fa120f656 (diff)
downloadscala-b0c36c7a7c646caf95c7cda4a91681d243a0508d.tar.gz
scala-b0c36c7a7c646caf95c7cda4a91681d243a0508d.tar.bz2
scala-b0c36c7a7c646caf95c7cda4a91681d243a0508d.zip
lazy vals cannot override strict vals and vice ...
lazy vals cannot override strict vals and vice versa; fixed initialization bugs that caused scala and fsc to fail.
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Namers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Namers.scala2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
index caaecc1b90..ac35ecc052 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
@@ -982,6 +982,8 @@ trait Namers { self: Analyzer =>
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.hasFlag(LAZY) && sym.hasFlag(PRESUPER))
+ context.error(sym.pos, "`lazy' definitions may not be initialized early")
if (sym.info.typeSymbol == FunctionClass(0) &&
sym.isValueParameter && sym.owner.isClass && sym.owner.hasFlag(CASE))
context.error(sym.pos, "pass-by-name arguments not allowed for case class parameters");