Don't delete import from stdlib if alias exists and used

#KT-31414 Fixed
This commit is contained in:
Dmitry Gridin
2019-05-14 15:09:50 +07:00
parent 32298522dd
commit 3914530fa8
23 changed files with 239 additions and 17 deletions
@@ -0,0 +1,9 @@
package pack1
fun a() {
}
fun Int.a() {
}
@@ -0,0 +1,15 @@
import pack1.a
import pack1.a as a1
import kotlin.collections.List
import kotlin.collections.List as List1
import kotlin.run as run1
import kotlin.run
fun foo() {
run {}
run1 {}
List<String>(1) {}
List1<String>(1) {}
a()
a1()
}
@@ -0,0 +1,15 @@
import pack1.a
import kotlin.collections.List
import kotlin.run
import pack1.a as a1
import kotlin.collections.List as List1
import kotlin.run as run1
fun foo() {
run {}
run1 {}
List<String>(1) {}
List1<String>(1) {}
a()
a1()
}
@@ -0,0 +1,37 @@
Additional checking of reference Getter: List
Additional checking of reference KtSimpleNameReference: List
Additional checking of reference Getter: List1
Additional checking of reference KtSimpleNameReference: List1
Changed resolve of KtSimpleNameReference: List1
Additional checking of reference Getter: a1
Additional checking of reference KtSimpleNameReference: a1
Changed resolve of KtSimpleNameReference: a1
Additional checking of reference Getter: run
Additional checking of reference KtSimpleNameReference: run
Additional checking of reference Getter: run1
Additional checking of reference KtSimpleNameReference: run1
Changed resolve of KtSimpleNameReference: run1
Additional checking of reference KtInvokeFunctionReference: List1<String>(1) {}
Additional checking of reference KtInvokeFunctionReference: List<String>(1) {}
Additional checking of reference KtInvokeFunctionReference: a1()
Additional checking of reference KtInvokeFunctionReference: run {}
Additional checking of reference KtInvokeFunctionReference: run1 {}
Trying to build import list again with import rules: +pack1.a as a1, +kotlin.collections.List as List1, +kotlin.run as run1
Additional checking of reference Getter: List
Additional checking of reference KtSimpleNameReference: List
Additional checking of reference Getter: List1
Additional checking of reference KtSimpleNameReference: List1
Changed resolve of KtSimpleNameReference: List1
Additional checking of reference Getter: a1
Additional checking of reference KtSimpleNameReference: a1
Changed resolve of KtSimpleNameReference: a1
Additional checking of reference Getter: run
Additional checking of reference KtSimpleNameReference: run
Additional checking of reference Getter: run1
Additional checking of reference KtSimpleNameReference: run1
Changed resolve of KtSimpleNameReference: run1
Additional checking of reference KtInvokeFunctionReference: List1<String>(1) {}
Additional checking of reference KtInvokeFunctionReference: List<String>(1) {}
Additional checking of reference KtInvokeFunctionReference: a1()
Additional checking of reference KtInvokeFunctionReference: run {}
Additional checking of reference KtInvokeFunctionReference: run1 {}
@@ -0,0 +1,9 @@
package pack1
fun a() {
}
fun Int.a() {
}
@@ -0,0 +1,10 @@
import pack1.a
import pack1.a as a1
import kotlin.run as run1
import kotlin.run
fun foo() {
run1 {}
a()
42.a1()
}
@@ -0,0 +1,9 @@
import pack1.a
import pack1.a as a1
import kotlin.run as run1
fun foo() {
run1 {}
a()
42.a1()
}
@@ -0,0 +1,17 @@
Additional checking of reference Getter: a1
Additional checking of reference KtSimpleNameReference: a1
Changed resolve of KtSimpleNameReference: a1
Additional checking of reference Getter: run1
Additional checking of reference KtSimpleNameReference: run1
Changed resolve of KtSimpleNameReference: run1
Additional checking of reference KtInvokeFunctionReference: a1()
Additional checking of reference KtInvokeFunctionReference: run1 {}
Trying to build import list again with import rules: +pack1.a as a1, +kotlin.run as run1
Additional checking of reference Getter: a1
Additional checking of reference KtSimpleNameReference: a1
Changed resolve of KtSimpleNameReference: a1
Additional checking of reference Getter: run1
Additional checking of reference KtSimpleNameReference: run1
Changed resolve of KtSimpleNameReference: run1
Additional checking of reference KtInvokeFunctionReference: a1()
Additional checking of reference KtInvokeFunctionReference: run1 {}
@@ -1,5 +1,5 @@
// NAME_COUNT_TO_USE_STAR_IMPORT: 2
import p1.A
import p1.*
import p2.A
fun f() {
@@ -6,3 +6,4 @@ Additional checking of reference KtSimpleNameReference: A
Changed resolve of KtSimpleNameReference: A
Additional checking of reference KtInvokeFunctionReference: A("")
Additional checking of reference KtInvokeFunctionReference: A(1)
Trying to build import list again with import rules: +p2.A, +p1.*
@@ -0,0 +1,9 @@
package pack1
fun a() {
}
fun Int.a() {
}
@@ -0,0 +1,6 @@
import pack1.a
import pack1.a as a1
fun foo() {
42.a1()
}
@@ -0,0 +1,5 @@
import pack1.a as a1
fun foo() {
42.a1()
}
@@ -0,0 +1,9 @@
Additional checking of reference Getter: a1
Additional checking of reference KtSimpleNameReference: a1
Changed resolve of KtSimpleNameReference: a1
Additional checking of reference KtInvokeFunctionReference: a1()
Trying to build import list again with import rules: +pack1.a as a1
Additional checking of reference Getter: a1
Additional checking of reference KtSimpleNameReference: a1
Changed resolve of KtSimpleNameReference: a1
Additional checking of reference KtInvokeFunctionReference: a1()
@@ -0,0 +1,9 @@
package pack1
fun a() {
}
fun Int.a() {
}
@@ -0,0 +1,6 @@
import pack1.a
import pack1.a as a1
fun foo() {
a()
}
@@ -0,0 +1,5 @@
import pack1.a
fun foo() {
a()
}