diff options
author | Som Snytt <som.snytt@gmail.com> | 2012-04-22 02:58:26 -0700 |
---|---|---|
committer | Som Snytt <som.snytt@gmail.com> | 2012-04-26 11:44:39 -0700 |
commit | 9d925a30c73ee5856c83d3caab124f7dbeaa85a8 (patch) | |
tree | d7a14c7d0466435523452ed2cc88fe3d82c9e9b6 /test/files/neg/t5702-neg-ugly-xbrace.check | |
parent | 3c9c18ddccc17c2b0e62195315ba2abb72d3b761 (diff) | |
download | scala-9d925a30c73ee5856c83d3caab124f7dbeaa85a8.tar.gz scala-9d925a30c73ee5856c83d3caab124f7dbeaa85a8.tar.bz2 scala-9d925a30c73ee5856c83d3caab124f7dbeaa85a8.zip |
SI-5702 Pattern parser halts on star
In patterns, the parser halts when it sees stars.
This means it does not handle infix notation for a case class
named "*". This patch uses lookahead to decide whether to parse
'_' '*' as a sequence pattern or as the start of infix.
(For both normal and error cases, the tokens are always consumed
immediately.) Error messages are improved for _* (as a help to learners)
and slightly improved recovery helps the parse continue.
The entry point for XML patterns is now distinct; otherwise,
the change is local to pattern3-simplepattern; the entry point
for simplepattern() is unchanged because it is commented
"hook for IDE."
Diffstat (limited to 'test/files/neg/t5702-neg-ugly-xbrace.check')
-rw-r--r-- | test/files/neg/t5702-neg-ugly-xbrace.check | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/files/neg/t5702-neg-ugly-xbrace.check b/test/files/neg/t5702-neg-ugly-xbrace.check new file mode 100644 index 0000000000..7d80bbf6be --- /dev/null +++ b/test/files/neg/t5702-neg-ugly-xbrace.check @@ -0,0 +1,19 @@ +t5702-neg-ugly-xbrace.scala:11: error: bad brace or paren after _* + val <top>{a, z@_*)</top> = xml + ^ +t5702-neg-ugly-xbrace.scala:12: error: Missing closing brace `}' assumed here + println("A for "+ a +", ending with "+ z) + ^ +t5702-neg-ugly-xbrace.scala:13: error: in XML literal: in XML content, please use '}}' to express '}' + } + ^ +t5702-neg-ugly-xbrace.scala:11: error: I encountered a '}' where I didn't expect one, maybe this tag isn't closed <top> + val <top>{a, z@_*)</top> = xml + ^ +t5702-neg-ugly-xbrace.scala:14: error: illegal start of simple pattern +} +^ +t5702-neg-ugly-xbrace.scala:14: error: '}' expected but eof found. +} + ^ +6 errors found |