mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Change signature does not make doubled refactoring for java usages
Fixed #KT-22170 Original commit: 4707f4fc3fc02b8acaa5bde4239701a1119bd5f5 GitOrigin-RevId: fcee7acaef25b53b27a8078c7a7ec3ab440f014f
This commit is contained in:
committed by
intellij-monorepo-bot
parent
2278bbdcc9
commit
9dc4e46e9f
+5
-1
@@ -76,10 +76,14 @@ class KotlinChangeSignatureProcessor(
|
||||
|
||||
override fun findUsages(): Array<UsageInfo> {
|
||||
val allUsages = ArrayList<UsageInfo>()
|
||||
val javaUsages = mutableSetOf<UsageInfo>()
|
||||
ktChangeInfo.getOrCreateJavaChangeInfos()?.let { javaChangeInfos ->
|
||||
val javaProcessor = JavaChangeSignatureUsageProcessor()
|
||||
javaChangeInfos.mapTo(allUsages) {
|
||||
KotlinWrapperForJavaUsageInfos(it, javaProcessor.findUsages(it), changeInfo.method)
|
||||
val javaUsagesForKtChange = javaProcessor.findUsages(it)
|
||||
val uniqueJavaUsagesForKtChange = javaUsagesForKtChange.filterNot<UsageInfo> { javaUsages.contains(it) }
|
||||
javaUsages.addAll(javaUsagesForKtChange)
|
||||
KotlinWrapperForJavaUsageInfos(it, uniqueJavaUsagesForKtChange.toTypedArray(), changeInfo.method)
|
||||
}
|
||||
}
|
||||
super.findUsages().filterTo(allUsages) { it is KotlinUsageInfo<*> || it is UnresolvableCollisionUsageInfo }
|
||||
|
||||
+8
@@ -564,6 +564,14 @@ class KotlinChangeSignatureTest : KotlinLightCodeInsightFixtureTestCase() {
|
||||
}
|
||||
}
|
||||
|
||||
fun testJavaMethodJvmStaticKotlinUsages() {
|
||||
doJavaTest {
|
||||
val first = newParameters[1]
|
||||
newParameters[1] = newParameters[0]
|
||||
newParameters[0] = first
|
||||
}
|
||||
}
|
||||
|
||||
fun testJavaConstructorKotlinUsages() {
|
||||
doJavaTest { newParameters.removeAt(1) }
|
||||
}
|
||||
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
class Test {
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun fooStatic(second: Int, first: String) { }
|
||||
}
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
public class JavaTest {
|
||||
public static void test() {
|
||||
Test.Companion.fooStatic(2, "First");
|
||||
Test.fooStatic(2, "First");
|
||||
}
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
class Test {
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun fooStatic(first: String, second: Int) { }
|
||||
}
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
public class JavaTest {
|
||||
public static void test() {
|
||||
Test.Companion.<caret>fooStatic("First", 2);
|
||||
Test.fooStatic("First", 2);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user