@@ -715,15 +715,13 @@ object Parsers {
715715 /** Type ::= [FunArgMods] FunArgTypes `=>' Type
716716 * | HkTypeParamClause `->' Type
717717 * | InfixType
718- * FunArgMods ::= `implicit' FunArgMods
719- * | `unused' FunArgMods
720718 * FunArgTypes ::= InfixType
721719 * | `(' [ FunArgType {`,' FunArgType } ] `)'
722720 * | '(' TypedFunParam {',' TypedFunParam } ')'
723721 */
724722 def typ (): Tree = {
725723 val start = in.offset
726- val imods = allFunctionMods (EmptyModifiers )
724+ val imods = funArgMods (EmptyModifiers )
727725 def functionRest (params : List [Tree ]): Tree =
728726 atPos(start, accept(ARROW )) {
729727 val t = typ()
@@ -1066,7 +1064,7 @@ object Parsers {
10661064 def expr (location : Location .Value ): Tree = {
10671065 val start = in.offset
10681066 if (in.token == IMPLICIT || in.token == UNUSED ) {
1069- val imods = allFunctionMods (EmptyModifiers )
1067+ val imods = funArgMods (EmptyModifiers )
10701068 implicitClosure(start, location, imods)
10711069 } else {
10721070 val saved = placeholderParams
@@ -1728,12 +1726,15 @@ object Parsers {
17281726 normalize(loop(start))
17291727 }
17301728
1731- def allFunctionMods (imods : Modifiers , doIfImplicit : () => Unit = () => ()): Modifiers = {
1729+ /** FunArgMods ::= `implicit' FunArgMods
1730+ * | `unused' FunArgMods
1731+ */
1732+ def funArgMods (imods : Modifiers , doIfImplicit : () => Unit = () => ()): Modifiers = {
17321733 if (in.token == IMPLICIT ) {
17331734 doIfImplicit()
1734- allFunctionMods (addMod(imods, atPos(accept(IMPLICIT )) { Mod .Implicit () }), doIfImplicit)
1735+ funArgMods (addMod(imods, atPos(accept(IMPLICIT )) { Mod .Implicit () }), doIfImplicit)
17351736 } else if (in.token == UNUSED )
1736- allFunctionMods (addMod(imods, atPos(accept(UNUSED )) { Mod .Unused () }), doIfImplicit)
1737+ funArgMods (addMod(imods, atPos(accept(UNUSED )) { Mod .Unused () }), doIfImplicit)
17371738 else imods
17381739 }
17391740
@@ -1882,7 +1883,7 @@ object Parsers {
18821883 if (in.token == RPAREN ) Nil
18831884 else {
18841885 if (in.token == IMPLICIT || in.token == UNUSED )
1885- imods = allFunctionMods (imods, () => implicitOffset = in.offset)
1886+ imods = funArgMods (imods, () => implicitOffset = in.offset)
18861887 commaSeparated(() => param())
18871888 }
18881889 }
@@ -2478,7 +2479,7 @@ object Parsers {
24782479 else if (isDefIntro(localModifierTokens))
24792480 if (in.token == IMPLICIT || in.token == UNUSED ) {
24802481 val start = in.offset
2481- var imods = allFunctionMods (EmptyModifiers )
2482+ var imods = funArgMods (EmptyModifiers )
24822483 if (isBindingIntro) stats += implicitClosure(start, Location .InBlock , imods)
24832484 else stats +++= localDef(start, imods)
24842485 } else {
0 commit comments