@@ -491,12 +491,12 @@ object desugar {
491491 // Annotations are dropped from the constructor parameters but should be
492492 // preserved in all derived parameters.
493493 val derivedTparams = {
494- val impliedTparamsIt = impliedTparams.toIterator
494+ val impliedTparamsIt = impliedTparams.iterator
495495 constrTparams.map(tparam => derivedTypeParam(tparam)
496496 .withAnnotations(impliedTparamsIt.next().mods.annotations))
497497 }
498498 val derivedVparamss = {
499- val constrVparamsIt = constrVparamss.toIterator .flatten
499+ val constrVparamsIt = constrVparamss.iterator .flatten
500500 constrVparamss.nestedMap(vparam => derivedTermParam(vparam)
501501 .withAnnotations(constrVparamsIt.next().mods.annotations))
502502 }
@@ -560,7 +560,7 @@ object desugar {
560560 case _ =>
561561 constrVparamss
562562 }
563- val nu = (makeNew(classTypeRef) /: vparamss ) { (nu, vparams) =>
563+ val nu = vparamss.foldLeft (makeNew(classTypeRef)) { (nu, vparams) =>
564564 val app = Apply (nu, vparams.map(refOfDef))
565565 vparams match {
566566 case vparam :: _ if vparam.mods.is(Given ) => app.setGivenApply()
@@ -700,10 +700,9 @@ object desugar {
700700 isEnumCase) anyRef
701701 else
702702 // todo: also use anyRef if constructor has a dependent method type (or rule that out)!
703- (constrVparamss :\ classTypeRef) (
704- (vparams, restpe) => Function (vparams map (_.tpt), restpe))
703+ constrVparamss.foldRight(classTypeRef)((vparams, restpe) => Function (vparams map (_.tpt), restpe))
705704 def widenedCreatorExpr =
706- (creatorExpr /: widenDefs )((rhs, meth) => Apply (Ident (meth.name), rhs :: Nil ))
705+ widenDefs.foldLeft (creatorExpr)((rhs, meth) => Apply (Ident (meth.name), rhs :: Nil ))
707706 val applyMeths =
708707 if (mods.is(Abstract )) Nil
709708 else {
@@ -790,12 +789,12 @@ object desugar {
790789
791790 val cdef1 = addEnumFlags {
792791 val tparamAccessors = {
793- val impliedTparamsIt = impliedTparams.toIterator
792+ val impliedTparamsIt = impliedTparams.iterator
794793 derivedTparams.map(_.withMods(impliedTparamsIt.next().mods))
795794 }
796795 val caseAccessor = if (isCaseClass) CaseAccessor else EmptyFlags
797796 val vparamAccessors = {
798- val originalVparamsIt = originalVparamss.toIterator .flatten
797+ val originalVparamsIt = originalVparamss.iterator .flatten
799798 derivedVparamss match {
800799 case first :: rest =>
801800 first.map(_.withMods(originalVparamsIt.next().mods | caseAccessor)) ++
@@ -1279,7 +1278,7 @@ object desugar {
12791278 val ttree = ctx.typerPhase match {
12801279 case phase : FrontEnd if phase.stillToBeEntered(parts.last) =>
12811280 val prefix =
1282- ((Ident (nme.ROOTPKG ): Tree ) /: parts.init )((qual, name) =>
1281+ parts.init.foldLeft ((Ident (nme.ROOTPKG ): Tree ))((qual, name) =>
12831282 Select (qual, name.toTermName))
12841283 Select (prefix, parts.last.toTypeName)
12851284 case _ =>
0 commit comments