From 23003c5d1a9267a48ae0c2731b570cb1a480cd95 Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Thu, 11 Apr 2019 12:58:26 +0700 Subject: [PATCH] Add Java compare to ReplaceJavaStaticMethodWithTopLevelFunctionInspection --- ...ticMethodWithTopLevelFunctionInspection.kt | 15 +++++- .../compare/byte.kt | 5 ++ .../compare/byte.kt.after | 5 ++ .../compare/character.kt | 5 ++ .../compare/character.kt.after | 5 ++ .../compare/double.kt | 5 ++ .../compare/double.kt.after | 5 ++ .../compare/float.kt | 5 ++ .../compare/float.kt.after | 5 ++ .../compare/integer.kt | 5 ++ .../compare/integer.kt.after | 5 ++ .../compare/long.kt | 5 ++ .../compare/long.kt.after | 5 ++ .../compare/short.kt | 5 ++ .../compare/short.kt.after | 5 ++ .../LocalInspectionTestGenerated.java | 48 +++++++++++++++++++ 16 files changed, 131 insertions(+), 2 deletions(-) create mode 100644 idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/byte.kt create mode 100644 idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/byte.kt.after create mode 100644 idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/character.kt create mode 100644 idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/character.kt.after create mode 100644 idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/double.kt create mode 100644 idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/double.kt.after create mode 100644 idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/float.kt create mode 100644 idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/float.kt.after create mode 100644 idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/integer.kt create mode 100644 idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/integer.kt.after create mode 100644 idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/long.kt create mode 100644 idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/long.kt.after create mode 100644 idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/short.kt create mode 100644 idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/short.kt.after diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/ReplaceJavaStaticMethodWithTopLevelFunctionInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/ReplaceJavaStaticMethodWithTopLevelFunctionInspection.kt index 78eb485c2ea..4fe8c871c6c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/ReplaceJavaStaticMethodWithTopLevelFunctionInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/ReplaceJavaStaticMethodWithTopLevelFunctionInspection.kt @@ -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( diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/byte.kt b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/byte.kt new file mode 100644 index 00000000000..90e3f64d619 --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/byte.kt @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + val t = java.lang.Byte.compare(5, 6) +} diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/byte.kt.after b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/byte.kt.after new file mode 100644 index 00000000000..eafe6adc30a --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/byte.kt.after @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + val t = 5.compareTo(6) +} diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/character.kt b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/character.kt new file mode 100644 index 00000000000..17be4f8998a --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/character.kt @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + val t = java.lang.Character.compare('3', '4') +} diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/character.kt.after b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/character.kt.after new file mode 100644 index 00000000000..bf8a8e3ec11 --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/character.kt.after @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + val t = '3'.compareTo('4') +} diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/double.kt b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/double.kt new file mode 100644 index 00000000000..c18af510a14 --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/double.kt @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + val t = java.lang.Double.compare(5.0, 6.0) +} diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/double.kt.after b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/double.kt.after new file mode 100644 index 00000000000..f20bbf241a8 --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/double.kt.after @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + val t = 5.0.compareTo(6.0) +} diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/float.kt b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/float.kt new file mode 100644 index 00000000000..d8017b2a85e --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/float.kt @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + val t = java.lang.Float.compare(5.0, 6.0) +} diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/float.kt.after b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/float.kt.after new file mode 100644 index 00000000000..f20bbf241a8 --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/float.kt.after @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + val t = 5.0.compareTo(6.0) +} diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/integer.kt b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/integer.kt new file mode 100644 index 00000000000..5067ec7131d --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/integer.kt @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + val t = Integer.compare(5, 6) +} diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/integer.kt.after b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/integer.kt.after new file mode 100644 index 00000000000..eafe6adc30a --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/integer.kt.after @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + val t = 5.compareTo(6) +} diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/long.kt b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/long.kt new file mode 100644 index 00000000000..c911ee69775 --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/long.kt @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + val t = java.lang.Long.compare(5, 6) +} diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/long.kt.after b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/long.kt.after new file mode 100644 index 00000000000..eafe6adc30a --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/long.kt.after @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + val t = 5.compareTo(6) +} diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/short.kt b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/short.kt new file mode 100644 index 00000000000..3588ac9f8d8 --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/short.kt @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + val t = java.lang.Short.compare(5, 6) +} diff --git a/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/short.kt.after b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/short.kt.after new file mode 100644 index 00000000000..eafe6adc30a --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceJavaStaticMethodWithTopLevelFunction/compare/short.kt.after @@ -0,0 +1,5 @@ +// WITH_RUNTIME + +fun foo() { + val t = 5.compareTo(6) +} diff --git a/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java index 5725731fce0..f1e58ccfb5b 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java @@ -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)