diff options
author | Martin Odersky <odersky@gmail.com> | 2010-05-25 15:45:09 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2010-05-25 15:45:09 +0000 |
commit | 56313be050dca71a28f7696853dad13d4db90e6c (patch) | |
tree | d45fa908424a073b2d312cd609ea538bca49b39c /src/compiler | |
parent | 4b10a4ca64f3d96a33a7f7badbf2a74e1c176fc4 (diff) | |
download | scala-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.
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/ast/parser/Parsers.scala | 3 |
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) { |