Inline Variable: Remove invalid imports and perform reference lengthening/shortening when inlining non-local declaration

#KT-8884 Fixed
This commit is contained in:
Alexey Sedunov
2015-12-14 12:24:28 +03:00
parent 44bdac6e11
commit 4e36edb5d6
25 changed files with 245 additions and 53 deletions
@@ -0,0 +1,7 @@
package boo
import foo.bar.a
fun main(args: Array<String>) {
println(a + a())
}
@@ -0,0 +1,8 @@
package boo
import foo.bar.a
import foo.bar.b
fun main(args: Array<String>) {
println(b + a())
}
@@ -0,0 +1,5 @@
package foo.bar
val b = 1
val <caret>a = b
fun a() = b
@@ -0,0 +1,4 @@
package foo.bar
val b = 1
fun a() = b
@@ -0,0 +1,3 @@
package bar
val x = 1
@@ -0,0 +1,3 @@
package bar
val x = 1
@@ -0,0 +1,3 @@
package baz
val y = 2
@@ -0,0 +1,3 @@
package baz
val y = 2
@@ -0,0 +1,5 @@
package bar
import foo.z
fun test() = z + 1
@@ -0,0 +1,5 @@
package bar
import baz.y
fun test() = x + y + 1
@@ -0,0 +1,5 @@
package baz
import foo.z
fun test() = z + 1
@@ -0,0 +1,5 @@
package baz
import bar.x
fun test() = x + y + 1
@@ -0,0 +1,5 @@
package other
import foo.z
fun test() = z + 1
@@ -0,0 +1,6 @@
package other
import bar.x
import baz.y
fun test() = x + y + 1
@@ -0,0 +1,8 @@
package foo
import bar.x
import baz.y
val <caret>z = x + y
fun test() = z + 1
@@ -0,0 +1,6 @@
package foo
import bar.x
import baz.y
fun test() = x + y + 1
@@ -0,0 +1,7 @@
package boo
import foo.bar.a
fun main(args: Array<String>) {
println(a)
}
@@ -0,0 +1,7 @@
package boo
import foo.bar.b
fun main(args: Array<String>) {
println(b)
}
@@ -0,0 +1,4 @@
package foo.bar
val b = 1
val <caret>a = b
@@ -0,0 +1,3 @@
package foo.bar
val b = 1