Skip to content

Commit 68f9a70

Browse files
committed
Implement the rule for “import JavaConverters._”
1 parent fce1608 commit 68f9a70

File tree

3 files changed

+33
-1
lines changed

3 files changed

+33
-1
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/*
2+
rule = "scala:fix.Collectionstrawman_v0"
3+
*/
4+
package fix
5+
6+
import collection.JavaConverters._
7+
8+
class ConvertersTest {
9+
def foo(xs: java.util.List[Int]): List[Int] = xs.asScala.toList
10+
def bar(xs: java.util.Map[Int, String]): Map[Int, String] = xs.asScala.toMap
11+
def baz(xs: List[Int]): java.util.List[Int] = xs.asJava
12+
def bah(xs: Map[Int, String]): java.util.Map[Int, String] = xs.asJava
13+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package fix
2+
3+
import strawman.collection.JavaConverters._
4+
import strawman.collection.immutable.{ List, Map }
5+
6+
class ConvertersTest {
7+
def foo(xs: java.util.List[Int]): List[Int] = xs.asScala.toList
8+
def bar(xs: java.util.Map[Int, String]): Map[Int, String] = xs.asScala.toMap
9+
def baz(xs: List[Int]): java.util.List[Int] = xs.asJava
10+
def bah(xs: Map[Int, String]): java.util.Map[Int, String] = xs.asJava
11+
}

rules/src/main/scala/fix/Collectionstrawman_v0.scala

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,11 +180,19 @@ case class Collectionstrawman_v0(index: SemanticdbIndex)
180180
removeTokensPatch + replaceCommasPatch
181181
}.asPatch
182182

183+
def replaceJavaConverters(ctx: RuleCtx): Patch = {
184+
ctx.tree.collect {
185+
case Import(List(importer)) if importer.syntax.containsSlice("collection.JavaConverters._") =>
186+
ctx.replaceTree(importer, "strawman.collection.JavaConverters._")
187+
}.asPatch
188+
}
189+
183190
override def fix(ctx: RuleCtx): Patch = {
184191
replaceToList(ctx) +
185192
replaceSymbols(ctx) +
186193
replaceExtensionMethods(ctx) +
187194
replaceRange(ctx) +
188-
replaceTupleZipped(ctx)
195+
replaceTupleZipped(ctx) +
196+
replaceJavaConverters(ctx)
189197
}
190198
}

0 commit comments

Comments
 (0)