diff options
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) } |