aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/parsing/Parsers.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-03-14 09:44:17 +0100
committerMartin Odersky <odersky@gmail.com>2014-03-14 09:44:17 +0100
commit722661c0bada3a8e64512bda2ac7501b1c02ec10 (patch)
treea94c071b6eeea5092f3c01c48dd1e7ce421c48e2 /src/dotty/tools/dotc/parsing/Parsers.scala
parentdb950e5e168f6fd71a367da343e352139e8d653e (diff)
downloaddotty-722661c0bada3a8e64512bda2ac7501b1c02ec10.tar.gz
dotty-722661c0bada3a8e64512bda2ac7501b1c02ec10.tar.bz2
dotty-722661c0bada3a8e64512bda2ac7501b1c02ec10.zip
Fixed two problems with annotated types in patterns
Problem 1: The parser did not accept them. It has to accept a "RefinedType" as an ascription, not a "WithType" (as it did before), or even a "SimpleType" (as speced in the SyntaxSummary). Problem 2: Annotations are always typed as expressions. The annotations in question were typed as patterns before. Tests in Patterns.scala and in the Dotty compiler itself.
Diffstat (limited to 'src/dotty/tools/dotc/parsing/Parsers.scala')
-rw-r--r--src/dotty/tools/dotc/parsing/Parsers.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/parsing/Parsers.scala b/src/dotty/tools/dotc/parsing/Parsers.scala
index 37a0a3ce1..7e0910e1b 100644
--- a/src/dotty/tools/dotc/parsing/Parsers.scala
+++ b/src/dotty/tools/dotc/parsing/Parsers.scala
@@ -810,7 +810,7 @@ object Parsers {
def typeDependingOn(location: Location.Value): Tree =
if (location == Location.InParens) typ()
- else if (location == Location.InPattern) withType()
+ else if (location == Location.InPattern) refinedType()
else infixType()
/* ----------- EXPRESSIONS ------------------------------------------------ */