diff options
author | paltherr <paltherr@epfl.ch> | 2004-04-04 22:18:30 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2004-04-04 22:18:30 +0000 |
commit | 5f69afd077a95e2e3d1f9f0eefa4800b7286ffda (patch) | |
tree | 1576e540ce458517a02e4fc7126e38a88a0bae20 | |
parent | b604e761bcfc85d410767cbb7c83b97f93da9aa8 (diff) | |
download | scala-5f69afd077a95e2e3d1f9f0eefa4800b7286ffda.tar.gz scala-5f69afd077a95e2e3d1f9f0eefa4800b7286ffda.tar.bz2 scala-5f69afd077a95e2e3d1f9f0eefa4800b7286ffda.zip |
- Removed references to Symbol.ERROR
-rw-r--r-- | sources/scala/tools/scalac/typechecker/Analyzer.scala | 1 | ||||
-rw-r--r-- | sources/scalac/symtab/Type.java | 8 |
2 files changed, 3 insertions, 6 deletions
diff --git a/sources/scala/tools/scalac/typechecker/Analyzer.scala b/sources/scala/tools/scalac/typechecker/Analyzer.scala index 9b96f359bf..569b435f32 100644 --- a/sources/scala/tools/scalac/typechecker/Analyzer.scala +++ b/sources/scala/tools/scalac/typechecker/Analyzer.scala @@ -216,6 +216,7 @@ class Analyzer(global: scalac_Global, descr: AnalyzerPhase) extends Transformer( unit.error(pos, msg); def typeError(pos: int, found: Type, req: Type): unit = { + if (found.isError() || req.isError()) return; var msg: String = infer.typeErrorMsg("type mismatch", found, req); val foundResult: Type = found.resultType(); if (foundResult != found && infer.isCompatible(foundResult, req)) diff --git a/sources/scalac/symtab/Type.java b/sources/scalac/symtab/Type.java index bbd0455423..9adcade4a2 100644 --- a/sources/scalac/symtab/Type.java +++ b/sources/scalac/symtab/Type.java @@ -287,8 +287,6 @@ public class Type implements Modifiers, Kinds, TypeTags, EntryTags { */ public Symbol symbol() { switch (this) { - case ErrorType: - return Symbol.ERROR; case ThisType(Symbol sym): return sym; case TypeRef(_, Symbol sym, _): @@ -776,7 +774,7 @@ public class Type implements Modifiers, Kinds, TypeTags, EntryTags { public Symbol lookup(Name name) { switch (this) { case ErrorType: - return Symbol.ERROR; + return new ErrorScope(Symbol.NONE).lookup(name); case ThisType(_): case SingleType(_, _): case ConstantType(_, _): @@ -798,7 +796,7 @@ public class Type implements Modifiers, Kinds, TypeTags, EntryTags { public Symbol lookupNonPrivate(Name name) { switch (this) { case ErrorType: - return Symbol.ERROR; + return new ErrorScope(Symbol.NONE).lookup(name); case ThisType(_): case SingleType(_, _): case ConstantType(_, _): @@ -906,8 +904,6 @@ public class Type implements Modifiers, Kinds, TypeTags, EntryTags { } private Symbol[] classes() { switch (this) { - case ErrorType: - return new Symbol[] {Symbol.ERROR}; case ThisType(_): case SingleType(_, _): case ConstantType(_, _): |