From 56313be050dca71a28f7696853dad13d4db90e6c Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Tue, 25 May 2010 15:45:09 +0000 Subject: Closes #3454, plus one syntax generalization wh... Closes #3454, plus one syntax generalization which lets us have mulitple if guards in for expressions without semicolons between them. Review by moors. --- src/compiler/scala/tools/nsc/ast/parser/Parsers.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala index 73cc62c3fa..1313698167 100644 --- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala +++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala @@ -1465,7 +1465,7 @@ self => else accept(LARROW) val rhs = expr() enums += makeGenerator(r2p(start, point, in.lastOffset), pat, tok == EQUALS, rhs) - if (in.token == IF) enums += makeFilter(in.offset, guard()) + while (in.token == IF) enums += makeFilter(in.offset, guard()) } def makeFilter(start: Int, tree: Tree) = Filter(r2p(start, tree.pos.point, tree.pos.endOrPoint), tree) @@ -1788,6 +1788,7 @@ self => mods |= Flags.MUTABLE in.nextToken() } else if (!caseParam) { + if (mods.flags == Flags.PARAMACCESSOR) accept(VAL) mods |= Flags.PRIVATE | Flags.LOCAL } if (caseParam) { -- cgit v1.2.3