Skip to content

Commit 36e8fe1

Browse files
oderskyallanrenucci
authored andcommitted
Fix isBindingIntro
Soft modifiers in modifier position are not considered as binder names.
1 parent 90765e3 commit 36e8fe1

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

compiler/src/dotty/tools/dotc/parsing/Parsers.scala

+4-1
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,6 @@ object Parsers {
166166
def isSimpleLiteral: Boolean = simpleLiteralTokens contains in.token
167167
def isLiteral: Boolean = literalTokens contains in.token
168168
def isNumericLit: Boolean = numericLitTokens contains in.token
169-
def isBindingIntro: Boolean = canStartBindingTokens contains in.token
170169
def isTemplateIntro: Boolean = templateIntroTokens contains in.token
171170
def isDclIntro: Boolean = dclIntroTokens contains in.token
172171
def isStatSeqEnd: Boolean = in.token == RBRACE || in.token == EOF
@@ -175,6 +174,10 @@ object Parsers {
175174
/** Is current token a hard or soft modifier (in modifier position or not)? */
176175
def isModifier: Boolean = modifierTokens.contains(in.token) || in.isSoftModifier
177176

177+
def isBindingIntro: Boolean =
178+
canStartBindingTokens.contains(in.token) &&
179+
!in.isSoftModifierInModifierPosition
180+
178181
def isExprIntro: Boolean =
179182
canStartExpressionTokens.contains(in.token) &&
180183
!in.isSoftModifierInModifierPosition

0 commit comments

Comments
 (0)