Move: Drop Java on-demand static imports of facade class members when original facade is eliminated due to Move refactoring

#KT-9624 Fixed
This commit is contained in:
Alexey Sedunov
2015-10-20 17:42:37 +03:00
committed by Alexey Sedunov
parent 5dc0e7f2d5
commit ca87e7933f
21 changed files with 6 additions and 42 deletions
@@ -209,8 +209,12 @@ private fun updateJavaReference(reference: PsiReferenceExpression, oldElement: P
// Remove import of old package facade, if any // Remove import of old package facade, if any
val oldClassName = oldElement.getContainingClass()?.getQualifiedName() val oldClassName = oldElement.getContainingClass()?.getQualifiedName()
if (oldClassName != null) { if (oldClassName != null) {
val importOfOldClass = (reference.getContainingFile() as? PsiJavaFile)?.getImportList()?.getImportStatements()?.firstOrNull { val importOfOldClass = (reference.containingFile as? PsiJavaFile)?.importList?.allImportStatements?.firstOrNull {
it.getQualifiedName() == oldClassName when (it) {
is PsiImportStatement -> it.qualifiedName == oldClassName
is PsiImportStaticStatement -> it.isOnDemand && it.importReference?.canonicalText == oldClassName
else -> false
}
} }
if (importOfOldClass != null && importOfOldClass.resolve() == null) { if (importOfOldClass != null && importOfOldClass.resolve() == null) {
importOfOldClass.delete() importOfOldClass.delete()
@@ -2,8 +2,6 @@ package a;
import b.Test; import b.Test;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
Test t = new Test(); Test t = new Test();
@@ -2,8 +2,6 @@ package c;
import b.Test; import b.Test;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
Test t = new Test(); Test t = new Test();
@@ -1,7 +1,5 @@
package a; package a;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.DependencyKt.test(new Test()); b.DependencyKt.test(new Test());
@@ -1,7 +1,5 @@
package b; package b;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.DependencyKt.test(new a.Test()); b.DependencyKt.test(new a.Test());
@@ -1,7 +1,5 @@
package c; package c;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.DependencyKt.test(new a.Test()); b.DependencyKt.test(new a.Test());
@@ -1,7 +1,5 @@
package a; package a;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.DependencyKt.getTest(new Test()); b.DependencyKt.getTest(new Test());
@@ -1,7 +1,5 @@
package b; package b;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.DependencyKt.getTest(new a.Test()); b.DependencyKt.getTest(new a.Test());
@@ -1,7 +1,5 @@
package c; package c;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.DependencyKt.getTest(new a.Test()); b.DependencyKt.getTest(new a.Test());
@@ -1,7 +1,5 @@
package a; package a;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.DependencyKt.test(); b.DependencyKt.test();
@@ -1,7 +1,5 @@
package b; package b;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.DependencyKt.test(); b.DependencyKt.test();
@@ -1,7 +1,5 @@
package c; package c;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.DependencyKt.test(); b.DependencyKt.test();
@@ -1,7 +1,5 @@
package a; package a;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.TestKt.test(); b.TestKt.test();
@@ -1,7 +1,5 @@
package b; package b;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.TestKt.test(); b.TestKt.test();
@@ -1,7 +1,5 @@
package c; package c;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.TestKt.test(); b.TestKt.test();
@@ -1,7 +1,5 @@
package a; package a;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.DependencyKt.setTest(""); b.DependencyKt.setTest("");
@@ -1,7 +1,5 @@
package b; package b;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.DependencyKt.setTest(""); b.DependencyKt.setTest("");
@@ -1,7 +1,5 @@
package c; package c;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.DependencyKt.setTest(""); b.DependencyKt.setTest("");
@@ -1,7 +1,5 @@
package a; package a;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.TestKt.setTest(""); b.TestKt.setTest("");
@@ -1,7 +1,5 @@
package b; package b;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.TestKt.setTest(""); b.TestKt.setTest("");
@@ -1,7 +1,5 @@
package c; package c;
import static a.MainKt.*;
class J { class J {
void bar() { void bar() {
b.TestKt.setTest(""); b.TestKt.setTest("");