summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Parsers.scala8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
index 21628f9864..d75d28c45f 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
@@ -1542,8 +1542,12 @@ self =>
/** CaseClauses ::= CaseClause {CaseClause}
* CaseClause ::= case Pattern [Guard] `=>' Block
*/
- def caseClauses(): List[CaseDef] = caseSeparated {
- atPos(in.offset)(makeCaseDef(pattern(), guard(), caseBlock()))
+ def caseClauses(): List[CaseDef] = {
+ val cases = caseSeparated { atPos(in.offset)(makeCaseDef(pattern(), guard(), caseBlock())) }
+ if (cases.isEmpty) // trigger error if there are no cases
+ accept(CASE)
+
+ cases
}
// IDE HOOK (so we can memoize case blocks) // needed?