@@ -3277,40 +3277,11 @@ object Parsers {
32773277 makeConstructor(Nil , vparamss, rhs).withMods(mods).setComment(in.getDocComment(start))
32783278 }
32793279 else {
3280- var mods1 = addFlag(mods, Method )
3281- var isInfix = false
3282- def extParamss () =
3283- try paramClause(0 , prefix = true ) :: Nil
3284- finally
3285- mods1 = addFlag(mods, ExtensionMethod )
3286- if in.token == DOT then in.nextToken()
3287- else
3288- isInfix = true
3289- newLineOpt()
3290- val (leadingTparams, leadingVparamss) =
3291- if in.token == LBRACKET then
3292- (typeParamClause(ParamOwner .Def ), extParamss())
3293- else if in.token == LPAREN then
3294- (Nil , extParamss())
3295- else
3296- (Nil , Nil )
3280+ val mods1 = addFlag(mods, Method )
32973281 val ident = termIdent()
32983282 var name = ident.name.asTermName
3299- if mods1.is(ExtensionMethod ) then name = name.toExtensionName
3300- if isInfix && ! name.isOperatorName then
3301- val infixAnnot = Apply (wrapNew(scalaAnnotationDot(tpnme.infix)), Nil )
3302- .withSpan(Span (start, start))
3303- mods1 = mods1.withAddedAnnotation(infixAnnot)
3304- val tparams =
3305- if in.token == LBRACKET then
3306- if mods1.is(ExtensionMethod ) then syntaxError(" no type parameters allowed here" )
3307- typeParamClause(ParamOwner .Def )
3308- else leadingTparams
3309- val vparamss = paramClauses() match
3310- case rparams :: rparamss if leadingVparamss.nonEmpty && ident.name.isRightAssocOperatorName =>
3311- rparams :: leadingVparamss ::: rparamss
3312- case rparamss =>
3313- leadingVparamss ::: rparamss
3283+ val tparams = typeParamClauseOpt(ParamOwner .Def )
3284+ val vparamss = paramClauses()
33143285 var tpt = fromWithinReturnType {
33153286 if in.token == COLONEOL then in.token = COLON
33163287 // a hack to allow
0 commit comments