diff options
-rw-r--r-- | sources/scalac/typechecker/Analyzer.java | 4 | ||||
-rw-r--r-- | test/files/pos/patterns2.scala | 6 | ||||
-rw-r--r-- | test/pos/patterns2.scala | 6 |
3 files changed, 8 insertions, 8 deletions
diff --git a/sources/scalac/typechecker/Analyzer.java b/sources/scalac/typechecker/Analyzer.java index 49c00ae457..7f830152cc 100644 --- a/sources/scalac/typechecker/Analyzer.java +++ b/sources/scalac/typechecker/Analyzer.java @@ -984,7 +984,7 @@ public class Analyzer extends Transformer implements Modifiers, Kinds { } catch (Type.Error ex) { reportTypeError(tree.pos, ex); tree.type = Type.ErrorType; - if (tree.hasSymbol()) tree.setSymbol(Symbol.ERROR); + if (tree.hasSymbol() && tree.symbol() == null) tree.setSymbol(Symbol.ERROR); } this.unit = savedUnit; @@ -2215,7 +2215,7 @@ public class Analyzer extends Transformer implements Modifiers, Kinds { } catch (Type.Error ex) { reportTypeError(tree.pos, ex); tree.type = Type.ErrorType; - if (tree.hasSymbol()) tree.setSymbol(Symbol.ERROR); + if (tree.hasSymbol() && tree.symbol() == null) tree.setSymbol(Symbol.ERROR); return tree; } } diff --git a/test/files/pos/patterns2.scala b/test/files/pos/patterns2.scala index d10053bc01..023aaf44af 100644 --- a/test/files/pos/patterns2.scala +++ b/test/files/pos/patterns2.scala @@ -1,16 +1,16 @@ trait Option {} case class Choice(a: Option, b: Option) extends Option; case class Some(x: java.lang.String) extends Option; -case class None() extends Option; +case class None extends Option; module test { def f(opt: Option) = opt match { case Choice(Some("one"), Some(x)) => 1; - case Choice(Some("two"), None()) => 1; + case Choice(Some("two"), None) => 1; case Choice(y, Some("two")) => 2; case Choice(Some(z), a) => 3; case Some(b) => 4; - case None() => 5; + case None => 5; } }
\ No newline at end of file diff --git a/test/pos/patterns2.scala b/test/pos/patterns2.scala index d10053bc01..023aaf44af 100644 --- a/test/pos/patterns2.scala +++ b/test/pos/patterns2.scala @@ -1,16 +1,16 @@ trait Option {} case class Choice(a: Option, b: Option) extends Option; case class Some(x: java.lang.String) extends Option; -case class None() extends Option; +case class None extends Option; module test { def f(opt: Option) = opt match { case Choice(Some("one"), Some(x)) => 1; - case Choice(Some("two"), None()) => 1; + case Choice(Some("two"), None) => 1; case Choice(y, Some("two")) => 2; case Choice(Some(z), a) => 3; case Some(b) => 4; - case None() => 5; + case None => 5; } }
\ No newline at end of file |