diff options
author | Martin Odersky <odersky@gmail.com> | 2003-09-02 17:27:57 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-09-02 17:27:57 +0000 |
commit | d8a3d0acaa3ff4bae5a20ff64d265754e7c1fbe5 (patch) | |
tree | b22dd299335625f6970d2374dda2001e66cc755e /sources/scalac/typechecker/Analyzer.java | |
parent | dd1ebac2aae5844ba01dbe2aab6e7fd67e19c15a (diff) | |
download | scala-d8a3d0acaa3ff4bae5a20ff64d265754e7c1fbe5.tar.gz scala-d8a3d0acaa3ff4bae5a20ff64d265754e7c1fbe5.tar.bz2 scala-d8a3d0acaa3ff4bae5a20ff64d265754e7c1fbe5.zip |
*** empty log message ***
Diffstat (limited to 'sources/scalac/typechecker/Analyzer.java')
-rw-r--r-- | sources/scalac/typechecker/Analyzer.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sources/scalac/typechecker/Analyzer.java b/sources/scalac/typechecker/Analyzer.java index 8cf7347498..2c887c9393 100644 --- a/sources/scalac/typechecker/Analyzer.java +++ b/sources/scalac/typechecker/Analyzer.java @@ -368,7 +368,8 @@ public class Analyzer extends Transformer implements Modifiers, Kinds { } if ((bsym.flags & FINAL) != 0) { error(constrs[i].pos, "illegal inheritance from final class"); - } else if ((bsym.flags & SEALED) != 0) { + } else if (bsym.isSealed() || + bsym.isSubClass(definitions.ANYVAL_CLASS)) { // are we in same scope as base type definition? Scope.Entry e = context.scope.lookupEntry(bsym.name); if (e.sym != bsym || e.owner != context.scope) { @@ -1248,12 +1249,12 @@ public class Analyzer extends Transformer implements Modifiers, Kinds { if (seqtp != Type.NoType) { tree.type = seqConstructorType(seqtp, pt); } else { - error(tree.pos, "expected pattern type " + pt + - " does not conform to sequence " + clazz); + return error(tree.pos, "expected pattern type " + pt + + " does not conform to sequence " + clazz); } } else if (tree.type != Type.ErrorType) { - error(tree.pos, tree.type.symbol() + - " is neither a case class constructor nor a sequence class constructor"); + return error(tree.pos, tree.type.symbol() + + " is neither a case class constructor nor a sequence class constructor"); } } if ((mode & FUNmode) != 0) { |