summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2010-05-25 15:45:09 +0000
committerMartin Odersky <odersky@gmail.com>2010-05-25 15:45:09 +0000
commit56313be050dca71a28f7696853dad13d4db90e6c (patch)
treed45fa908424a073b2d312cd609ea538bca49b39c
parent4b10a4ca64f3d96a33a7f7badbf2a74e1c176fc4 (diff)
downloadscala-56313be050dca71a28f7696853dad13d4db90e6c.tar.gz
scala-56313be050dca71a28f7696853dad13d4db90e6c.tar.bz2
scala-56313be050dca71a28f7696853dad13d4db90e6c.zip
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.
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Parsers.scala3
1 files changed, 2 insertions, 1 deletions
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) {