diff options
Diffstat (limited to 'sources/scalac/typechecker')
-rw-r--r-- | sources/scalac/typechecker/RefCheck.java | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sources/scalac/typechecker/RefCheck.java b/sources/scalac/typechecker/RefCheck.java index 0b9d308e2b..afe0e0df7a 100644 --- a/sources/scalac/typechecker/RefCheck.java +++ b/sources/scalac/typechecker/RefCheck.java @@ -100,6 +100,8 @@ public class RefCheck extends Transformer implements Modifiers, Kinds { } void checkOverride(int pos, Symbol clazz, Symbol other) { + if (other.kind == CLASS) + return; // todo: see if we can sustain this Symbol member = other; if ((other.flags & PRIVATE) == 0) { Symbol member1 = clazz.info().lookup(other.name); @@ -222,8 +224,10 @@ public class RefCheck extends Transformer implements Modifiers, Kinds { overrideError(pos, member, other, "has weaker access privileges; it should not be protected"); } else if ((other.flags & FINAL) != 0) { overrideError(pos, member, other, "cannot override final member"); +/* } else if (other.kind == CLASS) { overrideError(pos, member, other, "cannot override a class"); +*/ } else if ((other.flags & DEFERRED) == 0 && ((member.flags & OVERRIDE) == 0)) { overrideError(pos, member, other, "needs `override' modifier"); } else if (other.isAbstractOverride() && |