Create from Usage: Show receiver type in the text of "Create extension" quick fix

(cherry picked from commit c0d5df1)
This commit is contained in:
Alexey Sedunov
2016-06-29 19:22:53 +03:00
parent 79f73d3cc2
commit 1a13c21377
97 changed files with 116 additions and 99 deletions
@@ -1,6 +1,6 @@
// "Create local variable 'foo'" "false"
// ERROR: Unresolved reference: foo
// ACTION: Create extension function 'foo'
// ACTION: Create extension function 'Int.foo'
// ACTION: Replace infix call with ordinary call
// WITH_RUNTIME
fun refer() {
@@ -1,5 +1,5 @@
// "Create local variable '-'" "false"
// ACTION: Create extension function 'minus'
// ACTION: Create extension function 'A.minus'
// ACTION: Create member function 'minus'
// ACTION: Replace overloaded operator with function call
// ERROR: Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: <br>@InlineOnly public operator inline fun BigDecimal.minus(other: BigDecimal): BigDecimal defined in kotlin<br>@InlineOnly public operator inline fun BigInteger.minus(other: BigInteger): BigInteger defined in kotlin<br>public operator fun <T> Iterable<???>.minus(elements: Array<out ???>): List<???> defined in kotlin.collections<br>public operator fun <T> Iterable<???>.minus(elements: Iterable<???>): List<???> defined in kotlin.collections<br>public operator fun <T> Iterable<???>.minus(elements: Sequence<???>): List<???> defined in kotlin.collections<br>public operator fun <T> Iterable<A>.minus(element: A): List<A> defined in kotlin.collections<br>public operator fun <T> Set<???>.minus(elements: Array<out ???>): Set<???> defined in kotlin.collections<br>public operator fun <T> Set<???>.minus(elements: Iterable<???>): Set<???> defined in kotlin.collections<br>public operator fun <T> Set<???>.minus(elements: Sequence<???>): Set<???> defined in kotlin.collections<br>public operator fun <T> Set<A>.minus(element: A): Set<A> defined in kotlin.collections<br>public operator fun <T> Sequence<???>.minus(elements: Array<out ???>): Sequence<???> defined in kotlin.sequences<br>public operator fun <T> Sequence<???>.minus(elements: Iterable<???>): Sequence<???> defined in kotlin.sequences<br>public operator fun <T> Sequence<???>.minus(elements: Sequence<???>): Sequence<???> defined in kotlin.sequences<br>public operator fun <T> Sequence<A>.minus(element: A): Sequence<A> defined in kotlin.sequences
@@ -1,5 +1,5 @@
// "Create local variable 'foo'" "false"
// ACTION: Create extension property 'foo'
// ACTION: Create extension property 'A.foo'
// ACTION: Create member property 'foo'
// ACTION: Create property 'foo' as constructor parameter
// ACTION: Rename reference
@@ -1,6 +1,6 @@
// "Create parameter 'foo'" "false"
// ERROR: Unresolved reference: foo
// ACTION: Create extension function 'foo'
// ACTION: Create extension function 'Int.foo'
// ACTION: Replace infix call with ordinary call
// WITH_RUNTIME
fun refer() {
@@ -2,7 +2,7 @@
// ACTION: Convert to expression body
// ACTION: Create local variable 'foo'
// ACTION: Create property 'foo'
// ACTION: Create extension property 'foo'
// ACTION: Create extension property 'T.foo'
// ACTION: Rename reference
// ERROR: Unresolved reference: foo
@@ -2,7 +2,7 @@
// ACTION: Convert to expression body
// ACTION: Create local variable 'foo'
// ACTION: Create property 'foo'
// ACTION: Create extension property 'foo'
// ACTION: Create extension property 'T.foo'
// ACTION: Rename reference
// ERROR: Unresolved reference: foo
@@ -1,5 +1,5 @@
// "Create parameter '-'" "false"
// ACTION: Create extension function 'minus'
// ACTION: Create extension function 'A.minus'
// ACTION: Create member function 'minus'
// ACTION: Replace overloaded operator with function call
// ERROR: Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: <br>@InlineOnly public operator inline fun BigDecimal.minus(other: BigDecimal): BigDecimal defined in kotlin<br>@InlineOnly public operator inline fun BigInteger.minus(other: BigInteger): BigInteger defined in kotlin<br>public operator fun <T> Iterable<???>.minus(elements: Array<out ???>): List<???> defined in kotlin.collections<br>public operator fun <T> Iterable<???>.minus(elements: Iterable<???>): List<???> defined in kotlin.collections<br>public operator fun <T> Iterable<???>.minus(elements: Sequence<???>): List<???> defined in kotlin.collections<br>public operator fun <T> Iterable<A>.minus(element: A): List<A> defined in kotlin.collections<br>public operator fun <T> Set<???>.minus(elements: Array<out ???>): Set<???> defined in kotlin.collections<br>public operator fun <T> Set<???>.minus(elements: Iterable<???>): Set<???> defined in kotlin.collections<br>public operator fun <T> Set<???>.minus(elements: Sequence<???>): Set<???> defined in kotlin.collections<br>public operator fun <T> Set<A>.minus(element: A): Set<A> defined in kotlin.collections<br>public operator fun <T> Sequence<???>.minus(elements: Array<out ???>): Sequence<???> defined in kotlin.sequences<br>public operator fun <T> Sequence<???>.minus(elements: Iterable<???>): Sequence<???> defined in kotlin.sequences<br>public operator fun <T> Sequence<???>.minus(elements: Sequence<???>): Sequence<???> defined in kotlin.sequences<br>public operator fun <T> Sequence<A>.minus(element: A): Sequence<A> defined in kotlin.sequences
@@ -1,5 +1,5 @@
// "Create parameter 'foo'" "false"
// ACTION: Create extension property 'foo'
// ACTION: Create extension property 'A.foo'
// ACTION: Create member property 'foo'
// ACTION: Create property 'foo' as constructor parameter
// ACTION: Rename reference
@@ -1,6 +1,6 @@
// "Create member property 'foo' as constructor parameter" "false"
// ACTION: Create member property 'foo'
// ACTION: Create extension property 'foo'
// ACTION: Create extension property 'A.Companion.foo'
// ACTION: Rename reference
// ERROR: Unresolved reference: foo
@@ -1,7 +1,7 @@
// "Create property 'foo' as constructor parameter" "false"
// ACTION: Create member property 'foo'
// ACTION: Convert to expression body
// ACTION: Create extension property 'foo'
// ACTION: Create extension property 'A.foo'
// ACTION: Rename reference
// ERROR: Unresolved reference: foo
@@ -1,5 +1,5 @@
// "Create property 'foo' as constructor parameter" "false"
// ACTION: Create extension property 'foo'
// ACTION: Create extension property 'Int.foo'
// ACTION: Rename reference
// ERROR: Unresolved reference: foo
// WITH_RUNTIME
@@ -1,6 +1,6 @@
// "Create abstract property 'foo'" "false"
// ACTION: Convert to expression body
// ACTION: Create extension property 'foo'
// ACTION: Create extension property 'B.foo'
// ACTION: Create member property 'foo'
// ACTION: Create property 'foo' as constructor parameter
// ACTION: Rename reference
@@ -1,5 +1,5 @@
// "Create property 'foo'" "false"
// ACTION: Create extension function 'bar'
// ACTION: Create extension function 'A<Int>.bar'
// ACTION: Create member function 'bar'
// ACTION: Rename reference
// ERROR: Unresolved reference: bar
@@ -1,4 +1,4 @@
// "Create extension property 'foo'" "true"
// "Create extension property 'A.foo'" "true"
// ERROR: Unresolved reference: foo
import package1.A
@@ -1,4 +1,4 @@
// "Create extension property 'foo'" "true"
// "Create extension property 'A.foo'" "true"
// ERROR: Unresolved reference: foo
import package1.A
@@ -1,4 +1,4 @@
// "Create extension property 'foo'" "true"
// "Create extension property 'A.foo'" "true"
// ERROR: Unresolved reference: foo
val A.foo: String?
@@ -1,4 +1,4 @@
// "Create extension property 'foo'" "true"
// "Create extension property 'A.foo'" "true"
// ERROR: Unresolved reference: foo
fun test(): String? {
@@ -1,4 +1,4 @@
// "Create extension property 'foo'" "true"
// "Create extension property 'A.foo'" "true"
// ERROR: Unresolved reference: foo
val A.foo: String?
@@ -1,4 +1,4 @@
// "Create extension property 'foo'" "true"
// "Create extension property 'A.foo'" "true"
// ERROR: Unresolved reference: foo
fun test(): String? {
@@ -1,4 +1,4 @@
// "Create extension property 'bar'" "true"
// "Create extension property 'T.bar'" "true"
// ERROR: Property must be initialized
fun consume(n: Int) {}
@@ -1,4 +1,4 @@
// "Create extension property 'bar'" "true"
// "Create extension property 'T.bar'" "true"
// ERROR: Property must be initialized
fun consume(n: Int) {}
@@ -1,6 +1,6 @@
// "Create property 'foo'" "false"
// ERROR: Unresolved reference: foo
// ACTION: Create extension function 'foo'
// ACTION: Create extension function 'Int.foo'
// ACTION: Replace infix call with ordinary call
// WITH_RUNTIME
fun refer() {
@@ -1,5 +1,5 @@
// "Create member property 'bar'" "false"
// ACTION: Create extension property 'bar'
// ACTION: Create extension property 'T.bar'
// ACTION: Rename reference
// ACTION: Convert to expression body
// ERROR: Unresolved reference: bar
@@ -1,6 +1,6 @@
// "Create property 'foo'" "false"
// ACTION: Convert to expression body
// ACTION: Create extension property 'foo'
// ACTION: Create extension property 'A.foo'
// ACTION: Rename reference
// ERROR: Unresolved reference: foo
@@ -1,6 +1,6 @@
// "Create property 'foo'" "false"
// ACTION: Convert to expression body
// ACTION: Create extension property 'foo'
// ACTION: Create extension property 'A.foo'
// ACTION: Rename reference
// ERROR: Unresolved reference: foo
@@ -1,4 +1,4 @@
// "Create extension property 'foo'" "true"
// "Create extension property 'Unit.foo'" "true"
// ERROR: Property must be initialized
// WITH_RUNTIME
@@ -1,4 +1,4 @@
// "Create extension property 'foo'" "true"
// "Create extension property 'Unit.foo'" "true"
// ERROR: Property must be initialized
// WITH_RUNTIME
@@ -1,4 +1,4 @@
// "Create extension property 'foo'" "true"
// "Create extension property 'Int.foo'" "true"
// ERROR: Property must be initialized
// WITH_RUNTIME
@@ -1,4 +1,4 @@
// "Create extension property 'foo'" "true"
// "Create extension property 'Int.foo'" "true"
// ERROR: Property must be initialized
// WITH_RUNTIME
@@ -1,4 +1,4 @@
// "Create extension property 'foo'" "true"
// "Create extension property 'Int.foo'" "true"
// ERROR: Property must be initialized
// WITH_RUNTIME
@@ -1,4 +1,4 @@
// "Create extension property 'foo'" "true"
// "Create extension property 'Int.foo'" "true"
// ERROR: Property must be initialized
// WITH_RUNTIME