summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2006-06-21 15:26:02 +0000
committerMartin Odersky <odersky@gmail.com>2006-06-21 15:26:02 +0000
commita2dc3dd2c51a763c8a11859e0db2fb6e20b4b520 (patch)
treec295203e25b8b244c665450a4b5905392b3dee19 /src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
parent590af0e4bec2e5626de3d94f587db14eac75318a (diff)
downloadscala-a2dc3dd2c51a763c8a11859e0db2fb6e20b4b520.tar.gz
scala-a2dc3dd2c51a763c8a11859e0db2fb6e20b4b520.tar.bz2
scala-a2dc3dd2c51a763c8a11859e0db2fb6e20b4b520.zip
Fixed bug 630
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/RefChecks.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/RefChecks.scala11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
index 10f30a7f31..3bc224cc98 100644
--- a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
@@ -169,12 +169,11 @@ abstract class RefChecks extends InfoTransform {
overrideError("needs `abstract override' modifiers")
} else if ((member hasFlag (OVERRIDE | ABSOVERRIDE)) && (other hasFlag ACCESSOR) && other.accessed.isVariable) {
overrideError("cannot override a mutable variable")
- } else if (other.isStable) {
- if (!member.isStable) // (1.4)
- overrideError("needs to be an immutable value")
- else if (!(other hasFlag DEFERRED) && other.owner.isTrait && (member hasFlag OVERRIDE))
- overrideError("cannot override a value or variable definition in a trait " +
- "\n (this is an implementation restriction)")
+ } else if (other.isStable && !member.isStable) { // (1.4)
+ overrideError("needs to be an immutable value")
+ } else if (other.isStable && !(other hasFlag DEFERRED) && other.owner.isTrait && (member hasFlag OVERRIDE)) {
+ overrideError("cannot override a value or variable definition in a trait " +
+ "\n (this is an implementation restriction)")
} else {
if (other.isAliasType) {
if (!member.typeParams.isEmpty) // (1.5)