KT-19011: Fix import optimizing when extension functional type is used

It should check is extension functional type imported from companion
is actually called on companion instance

 #KT-19011 fixed
This commit is contained in:
Simon Ogorodnik
2017-07-18 02:28:03 +03:00
parent 65e603c1ed
commit 7ed1669050
15 changed files with 111 additions and 5 deletions
@@ -0,0 +1,7 @@
package p1
class Foo {
companion object {
val COMPANION_VAL: Any.() -> Unit = TODO()
}
}
@@ -0,0 +1,7 @@
package p2
import p1.Foo
fun test() {
Foo.COMPANION_VAL
}
@@ -0,0 +1,7 @@
package p2
import p1.Foo
fun test() {
Foo.COMPANION_VAL
}
@@ -0,0 +1,7 @@
package p1
class Foo {
companion object {
val COMPANION_VAL: Any.() -> Unit = TODO()
}
}
@@ -0,0 +1,8 @@
package p2
import p1.Foo
import p1.Foo.Companion.COMPANION_VAL
fun test() {
Foo.COMPANION_VAL()
}
@@ -0,0 +1,8 @@
package p2
import p1.Foo
import p1.Foo.Companion.COMPANION_VAL
fun test() {
Foo.COMPANION_VAL()
}
@@ -0,0 +1,7 @@
package p1
class Foo {
companion object {
val COMPANION_VAL: Any.() -> Unit = TODO()
}
}
@@ -0,0 +1,7 @@
package p2
import p1.Foo
fun test() {
Foo.COMPANION_VAL("")
}
@@ -0,0 +1,7 @@
package p2
import p1.Foo
fun test() {
Foo.COMPANION_VAL("")
}