diff options
author | Martin Odersky <odersky@gmail.com> | 2013-05-10 12:59:56 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-05-10 12:59:56 +0200 |
commit | 60cf06a76b55cc0e1098557b8464fbcfdd324887 (patch) | |
tree | 2725882b8e7fdcd1a14197938a2f809d3dc4c5f3 /src/dotty/tools/dotc/parsing/Parsers.scala | |
parent | cf4c428cc58ed330faa236bf54d06c1fad902c8a (diff) | |
download | dotty-60cf06a76b55cc0e1098557b8464fbcfdd324887.tar.gz dotty-60cf06a76b55cc0e1098557b8464fbcfdd324887.tar.bz2 dotty-60cf06a76b55cc0e1098557b8464fbcfdd324887.zip |
Two small tweaks to parser
Diffstat (limited to 'src/dotty/tools/dotc/parsing/Parsers.scala')
-rw-r--r-- | src/dotty/tools/dotc/parsing/Parsers.scala | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/parsing/Parsers.scala b/src/dotty/tools/dotc/parsing/Parsers.scala index d88d9afab..29efa7227 100644 --- a/src/dotty/tools/dotc/parsing/Parsers.scala +++ b/src/dotty/tools/dotc/parsing/Parsers.scala @@ -1675,7 +1675,9 @@ object Parsers { */ def constrModsOpt(): Modifiers = { val mods = modifiers(accessModifierTokens, annotsAsMods()) - if (mods.hasAnnotations && !mods.hasFlags) accept(THIS) + if (mods.hasAnnotations && !mods.hasFlags) + if (in.token == THIS) in.nextToken() + else syntaxError("`private', `protected', or `this' expected") mods } @@ -1716,7 +1718,7 @@ object Parsers { else { newLineOptWhenFollowedBy(LBRACE) if (in.token == LBRACE) template(constr) - else Template(constr, Nil, EmptyValDef(), Nil).withPos(constr.pos) + else Template(constr, Nil, EmptyValDef(), Nil).withPos(constr.pos.toSynthetic) } |