From 304d918d9445c35d25a0ec9947545cbdcdfc17f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillaume=20Mass=C3=A9?= Date: Thu, 2 Aug 2018 15:53:36 +0200 Subject: [PATCH] Extend the .to(CC) refactor to f(cc.to) --- .../src/main/scala/fix/ReplaceToSrc.scala | 3 +++ .../src/main/scala/fix/ReplaceToSrc.scala | 3 +++ .../src/main/scala/fix/Stable212Base.scala | 24 +++++++------------ 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/scalafix/input/src/main/scala/fix/ReplaceToSrc.scala b/scalafix/input/src/main/scala/fix/ReplaceToSrc.scala index 7ed93852..2d14f871 100644 --- a/scalafix/input/src/main/scala/fix/ReplaceToSrc.scala +++ b/scalafix/input/src/main/scala/fix/ReplaceToSrc.scala @@ -14,4 +14,7 @@ object ReplaceToSrc { def m2(xs: List[Int]): Iterable[Int] = xs.to + + def f(xs: List[Int]): Unit = () + f(Set(1).to) } diff --git a/scalafix/output/src/main/scala/fix/ReplaceToSrc.scala b/scalafix/output/src/main/scala/fix/ReplaceToSrc.scala index f7d0eb06..c9cc9ee2 100644 --- a/scalafix/output/src/main/scala/fix/ReplaceToSrc.scala +++ b/scalafix/output/src/main/scala/fix/ReplaceToSrc.scala @@ -15,4 +15,7 @@ object ReplaceToSrc { def m2(xs: List[Int]): Iterable[Int] = xs.to(scala.collection.immutable.IndexedSeq) + + def f(xs: List[Int]): Unit = () + f(Set(1).to(scala.collection.immutable.List)) } diff --git a/scalafix/rules/src/main/scala/fix/Stable212Base.scala b/scalafix/rules/src/main/scala/fix/Stable212Base.scala index 577d0fc6..96e90ebf 100644 --- a/scalafix/rules/src/main/scala/fix/Stable212Base.scala +++ b/scalafix/rules/src/main/scala/fix/Stable212Base.scala @@ -273,22 +273,16 @@ trait Stable212Base extends CrossCompatibility { self: SemanticRule => }.asPatch case t @ Term.Select(_, to @ toTpe(n: Name)) if !handledTo.contains(n) => - // we only want f.to, not f.to(X) - val applied = - t.parent match { - case Some(_:Term.Apply) => true - case _ => false + val synth = ctx.index.synthetics.find(_.position.end == to.pos.end) + synth.map{ s => + s.text.parse[Term].get match { + // we only want f.to, not f.to(X) + case Term.Apply(_, List(toCol)) => + val col = extractCollection(toCol) + ctx.addRight(to, "(" + col + ")") + case _ => Patch.empty } - - if (!applied) { - val synth = ctx.index.synthetics.find(_.position.end == to.pos.end) - synth.map{ s => - val res = s.text.parse[Term].get - val Term.Apply(_, List(toCol)) = res - val col = extractCollection(toCol) - ctx.addRight(to, "(" + col + ")") - }.getOrElse(Patch.empty) - } else Patch.empty + }.getOrElse(Patch.empty) }.asPatch