@@ -927,7 +927,7 @@ object Parsers {
927
927
var opStack : List [OpInfo ] = Nil
928
928
929
929
def checkAssoc (offset : Token , op1 : Name , op2 : Name , op2LeftAssoc : Boolean ): Unit =
930
- if (isLeftAssoc( op1) ! = op2LeftAssoc)
930
+ if (op1.isRightAssocOperatorName = = op2LeftAssoc)
931
931
syntaxError(MixedLeftAndRightAssociativeOps (op1, op2, op2LeftAssoc), offset)
932
932
933
933
def reduceStack (base : List [OpInfo ], top : Tree , prec : Int , leftAssoc : Boolean , op2 : Name , isType : Boolean ): Tree = {
@@ -967,7 +967,7 @@ object Parsers {
967
967
def recur (top : Tree ): Tree =
968
968
if (isIdent && isOperator) {
969
969
val op = if (isType) typeIdent() else termIdent()
970
- val top1 = reduceStack(base, top, precedence(op.name), isLeftAssoc( op.name) , op.name, isType)
970
+ val top1 = reduceStack(base, top, precedence(op.name), ! op.name.isRightAssocOperatorName , op.name, isType)
971
971
opStack = OpInfo (top1, op, in.offset) :: opStack
972
972
colonAtEOLOpt()
973
973
newLineOptWhenFollowing(canStartOperand)
@@ -3316,7 +3316,7 @@ object Parsers {
3316
3316
typeParamClause(ParamOwner .Def )
3317
3317
else leadingTparams
3318
3318
val vparamss = paramClauses() match
3319
- case rparams :: rparamss if leadingVparamss.nonEmpty && ! isLeftAssoc( ident.name) =>
3319
+ case rparams :: rparamss if leadingVparamss.nonEmpty && ident.name.isRightAssocOperatorName =>
3320
3320
rparams :: leadingVparamss ::: rparamss
3321
3321
case rparamss =>
3322
3322
leadingVparamss ::: rparamss
0 commit comments