diff options
author | Martin Odersky <odersky@gmail.com> | 2003-10-09 15:59:00 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-10-09 15:59:00 +0000 |
commit | dfc5cdeeb776762373603ee3a204b74570811ae6 (patch) | |
tree | 2086f463f354fdc8739701c9aa5d1bff6231c837 /sources | |
parent | 10ce3e7c800484ebc74f0dfdacbbb1a258555489 (diff) | |
download | scala-dfc5cdeeb776762373603ee3a204b74570811ae6.tar.gz scala-dfc5cdeeb776762373603ee3a204b74570811ae6.tar.bz2 scala-dfc5cdeeb776762373603ee3a204b74570811ae6.zip |
*** empty log message ***
Diffstat (limited to 'sources')
-rw-r--r-- | sources/scalac/typechecker/RefCheck.java | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/sources/scalac/typechecker/RefCheck.java b/sources/scalac/typechecker/RefCheck.java index 8c87e28a3c..6324eb8927 100644 --- a/sources/scalac/typechecker/RefCheck.java +++ b/sources/scalac/typechecker/RefCheck.java @@ -88,17 +88,6 @@ public class RefCheck extends Transformer implements Modifiers, Kinds { if (i < 0) { unit.error(sym.pos, sym + " overrides nothing"); sym.flags &= ~OVERRIDE; - } else if (sym.isAbstractOverride()) { - Symbol sup = sym.overriddenSymbol(parents[0]); - if (sup.kind == NONE) { - unit.error(sym.pos, sym + " does not override a superclass member"); - } else if (clazz.kind == CLASS && - (clazz.flags & ABSTRACT) == 0 && - isIncomplete(sup)) { - abstractClassError( - clazz, sym + sym.locationString() + - " is marked `abstract' and `override' and overrides an incomplete superclass member in " + parents[0]); - } } } } @@ -150,6 +139,17 @@ public class RefCheck extends Transformer implements Modifiers, Kinds { member + member.locationString() + " is not defined" + (((member.flags & MUTABLE) == 0) ? "" : "\n(Note that variables need to be initialized to be defined)")); + } else if (member.isAbstractOverride()) { + Type superclazz = clazz.parents()[0]; + Symbol sup = member.overriddenSymbol(superclazz); + if (sup.kind == NONE) { + unit.error(member.pos, member + " does not override a superclass member"); + } else if (clazz.kind == CLASS && (clazz.flags & ABSTRACT) == 0 && + isIncomplete(sup)) { + abstractClassError( + clazz, member + member.locationString() + + " is marked `abstract' and `override' and overrides an incomplete superclass member in " + superclazz); + } } } } |