Add Java compare to ReplaceJavaStaticMethodWithTopLevelFunctionInspection

This commit is contained in:
Dmitry Gridin
2019-04-11 12:58:26 +07:00
parent 7f3c4a21d5
commit 23003c5d1a
16 changed files with 131 additions and 2 deletions
@@ -117,8 +117,19 @@ class ReplaceJavaStaticMethodWithTopLevelFunctionInspection : AbstractKotlinInsp
}
companion object {
private val JAVA_PRIMITIVES = listOf("Integer", "Long", "Byte", "Character", "Short", "Double", "Float").map {
Replacement("java.lang.$it.toString", "kotlin.text.toString", toExtensionFunction = true)
private val JAVA_PRIMITIVES = listOf(
"Integer" to "Int",
"Long" to "Long",
"Byte" to "Byte",
"Character" to "Char",
"Short" to "Short",
"Double" to "Double",
"Float" to "Float"
).flatMap {
listOf(
Replacement("java.lang.${it.first}.toString", "kotlin.text.toString", toExtensionFunction = true),
Replacement("java.lang.${it.first}.compare", "kotlin.primitives.${it.second}.compareTo", toExtensionFunction = true)
)
}
private val JAVA_IO = listOf(
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun foo() {
val t = java.lang.Byte.<caret>compare(5, 6)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun foo() {
val t = 5.compareTo(6)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun foo() {
val t = java.lang.Character.<caret>compare('3', '4')
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun foo() {
val t = '3'.compareTo('4')
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun foo() {
val t = java.lang.Double.<caret>compare(5.0, 6.0)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun foo() {
val t = 5.0.compareTo(6.0)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun foo() {
val t = java.lang.Float.<caret>compare(5.0, 6.0)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun foo() {
val t = 5.0.compareTo(6.0)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun foo() {
val t = Integer.<caret>compare(5, 6)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun foo() {
val t = 5.compareTo(6)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun foo() {
val t = java.lang.Long.<caret>compare(5, 6)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun foo() {
val t = 5.compareTo(6)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun foo() {
val t = java.lang.Short.<caret>compare(5, 6)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun foo() {
val t = 5.compareTo(6)
}
@@ -7178,6 +7178,54 @@ public class LocalInspectionTestGenerated extends AbstractLocalInspectionTest {
}
}
@TestMetadata("idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Compare extends AbstractLocalInspectionTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath);
}
public void testAllFilesPresentInCompare() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare"), Pattern.compile("^([\\w\\-_]+)\\.(kt|kts)$"), TargetBackend.ANY, true);
}
@TestMetadata("byte.kt")
public void testByte() throws Exception {
runTest("idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/byte.kt");
}
@TestMetadata("character.kt")
public void testCharacter() throws Exception {
runTest("idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/character.kt");
}
@TestMetadata("double.kt")
public void testDouble() throws Exception {
runTest("idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/double.kt");
}
@TestMetadata("float.kt")
public void testFloat() throws Exception {
runTest("idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/float.kt");
}
@TestMetadata("integer.kt")
public void testInteger() throws Exception {
runTest("idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/integer.kt");
}
@TestMetadata("long.kt")
public void testLong() throws Exception {
runTest("idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/long.kt");
}
@TestMetadata("short.kt")
public void testShort() throws Exception {
runTest("idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/short.kt");
}
}
@TestMetadata("idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/io")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)