diff options
author | Enno Runne <enno@runne.net> | 2017-02-23 13:51:42 +0100 |
---|---|---|
committer | Enno Runne <enno@runne.net> | 2017-02-23 13:51:42 +0100 |
commit | 9202810e80997105a598a3298f1ac199d5324a23 (patch) | |
tree | 72753eadf72abedaa71394c4c23cc8b22936dd5c /compiler/src/dotty/tools/dotc/parsing/Parsers.scala | |
parent | 2699715684e9ea474001e9fc85bb3c7d25ed1ca5 (diff) | |
download | dotty-9202810e80997105a598a3298f1ac199d5324a23.tar.gz dotty-9202810e80997105a598a3298f1ac199d5324a23.tar.bz2 dotty-9202810e80997105a598a3298f1ac199d5324a23.zip |
Change 'private, protected, or this expected' to Message
Diffstat (limited to 'compiler/src/dotty/tools/dotc/parsing/Parsers.scala')
-rw-r--r-- | compiler/src/dotty/tools/dotc/parsing/Parsers.scala | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/src/dotty/tools/dotc/parsing/Parsers.scala b/compiler/src/dotty/tools/dotc/parsing/Parsers.scala index c14108d2e..f9187c5fe 100644 --- a/compiler/src/dotty/tools/dotc/parsing/Parsers.scala +++ b/compiler/src/dotty/tools/dotc/parsing/Parsers.scala @@ -1607,6 +1607,7 @@ object Parsers { * LocalModifier ::= abstract | final | sealed | implicit | lazy */ def modifiers(allowed: BitSet = modifierTokens, start: Modifiers = Modifiers()): Modifiers = { + @tailrec def loop(mods: Modifiers): Modifiers = { if (allowed contains in.token) { val isAccessMod = accessModifierTokens contains in.token @@ -2057,7 +2058,7 @@ object Parsers { val name = ident().toTypeName val constr = atPos(in.lastOffset) { val tparams = typeParamClauseOpt(ParamOwner.Class) - val cmods = constrModsOpt() + val cmods = constrModsOpt(name) val vparamss = paramClauses(name, mods is Case) makeConstructor(tparams, vparamss).withMods(cmods) @@ -2070,11 +2071,11 @@ object Parsers { /** ConstrMods ::= AccessModifier * | Annotation {Annotation} (AccessModifier | `this') */ - def constrModsOpt(): Modifiers = { + def constrModsOpt(owner: Name): Modifiers = { val mods = modifiers(accessModifierTokens, annotsAsMods()) if (mods.hasAnnotations && !mods.hasFlags) if (in.token == THIS) in.nextToken() - else syntaxError("`private', `protected', or `this' expected") + else syntaxError(AnnotatedPrimaryConstructorRequiresModifierOrThis(owner)) mods } |