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
val oldClassName = oldElement.getContainingClass()?.getQualifiedName()
if (oldClassName != null) {
val importOfOldClass = (reference.getContainingFile() as? PsiJavaFile)?.getImportList()?.getImportStatements()?.firstOrNull {
it.getQualifiedName() == oldClassName
val importOfOldClass = (reference.containingFile as? PsiJavaFile)?.importList?.allImportStatements?.firstOrNull {
when (it) {
is PsiImportStatement -> it.qualifiedName == oldClassName
is PsiImportStaticStatement -> it.isOnDemand && it.importReference?.canonicalText == oldClassName
else -> false
}
}
if (importOfOldClass != null && importOfOldClass.resolve() == null) {
importOfOldClass.delete()
@@ -2,8 +2,6 @@ package a;
import b.Test;
import static a.MainKt.*;
class J {
void bar() {
Test t = new Test();
@@ -2,8 +2,6 @@ package c;
import b.Test;
import static a.MainKt.*;
class J {
void bar() {
Test t = new Test();
@@ -1,7 +1,5 @@
package a;
import static a.MainKt.*;
class J {
void bar() {
b.DependencyKt.test(new Test());
@@ -1,7 +1,5 @@
package b;
import static a.MainKt.*;
class J {
void bar() {
b.DependencyKt.test(new a.Test());
@@ -1,7 +1,5 @@
package c;
import static a.MainKt.*;
class J {
void bar() {
b.DependencyKt.test(new a.Test());
@@ -1,7 +1,5 @@
package a;
import static a.MainKt.*;
class J {
void bar() {
b.DependencyKt.getTest(new Test());
@@ -1,7 +1,5 @@
package b;
import static a.MainKt.*;
class J {
void bar() {
b.DependencyKt.getTest(new a.Test());
@@ -1,7 +1,5 @@
package c;
import static a.MainKt.*;
class J {
void bar() {
b.DependencyKt.getTest(new a.Test());
@@ -1,7 +1,5 @@
package a;
import static a.MainKt.*;
class J {
void bar() {
b.DependencyKt.test();
@@ -1,7 +1,5 @@
package b;
import static a.MainKt.*;
class J {
void bar() {
b.DependencyKt.test();
@@ -1,7 +1,5 @@
package c;
import static a.MainKt.*;
class J {
void bar() {
b.DependencyKt.test();
@@ -1,7 +1,5 @@
package a;
import static a.MainKt.*;
class J {
void bar() {
b.TestKt.test();
@@ -1,7 +1,5 @@
package b;
import static a.MainKt.*;
class J {
void bar() {
b.TestKt.test();
@@ -1,7 +1,5 @@
package c;
import static a.MainKt.*;
class J {
void bar() {
b.TestKt.test();
@@ -1,7 +1,5 @@
package a;
import static a.MainKt.*;
class J {
void bar() {
b.DependencyKt.setTest("");
@@ -1,7 +1,5 @@
package b;
import static a.MainKt.*;
class J {
void bar() {
b.DependencyKt.setTest("");
@@ -1,7 +1,5 @@
package c;
import static a.MainKt.*;
class J {
void bar() {
b.DependencyKt.setTest("");
@@ -1,7 +1,5 @@
package a;
import static a.MainKt.*;
class J {
void bar() {
b.TestKt.setTest("");
@@ -1,7 +1,5 @@
package b;
import static a.MainKt.*;
class J {
void bar() {
b.TestKt.setTest("");
@@ -1,7 +1,5 @@
package c;
import static a.MainKt.*;
class J {
void bar() {
b.TestKt.setTest("");