Create from Usage: Show receiver type in the text of "Create extension" quick fix
(cherry picked from commit c0d5df1)
This commit is contained in:
+2
-2
@@ -119,8 +119,8 @@ fun List<TypeCandidate>.getTypeByRenderedType(renderedType: String): KotlinType?
|
||||
class CallableBuilderConfiguration(
|
||||
val callableInfos: List<CallableInfo>,
|
||||
val originalElement: KtElement,
|
||||
val currentFile: KtFile,
|
||||
val currentEditor: Editor?,
|
||||
val currentFile: KtFile = originalElement.getContainingKtFile(),
|
||||
val currentEditor: Editor? = null,
|
||||
val isExtension: Boolean = false,
|
||||
val enableSubstitutions: Boolean = true
|
||||
)
|
||||
|
||||
+19
-2
@@ -93,7 +93,24 @@ abstract class CreateCallableFromUsageFixBase<E : KtElement>(
|
||||
append(kind)
|
||||
|
||||
if (it.name.isNotEmpty()) {
|
||||
append(" '${it.name}'")
|
||||
append(" '")
|
||||
|
||||
if (isExtension) {
|
||||
val callableBuilder =
|
||||
CallableBuilderConfiguration(callableInfos, element, isExtension = isExtension)
|
||||
.createBuilder()
|
||||
val receiverType = callableBuilder
|
||||
.computeTypeCandidates(callableInfos.first().receiverTypeInfo)
|
||||
.firstOrNull()
|
||||
?.theType
|
||||
if (receiverType != null) {
|
||||
val receiverTypeText = IdeDescriptorRenderers.SOURCE_CODE_SHORT_NAMES_IN_TYPES.renderType(receiverType)
|
||||
val isFunctionType = receiverType.constructor.declarationDescriptor is FunctionClassDescriptor
|
||||
append(if (isFunctionType) "($receiverTypeText)" else receiverTypeText).append('.')
|
||||
}
|
||||
}
|
||||
|
||||
append("${it.name}'")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -123,7 +140,7 @@ abstract class CreateCallableFromUsageFixBase<E : KtElement>(
|
||||
// TODO: Remove after companion object extensions are supported
|
||||
if (isExtension && receiverInfo.staticContextRequired) return false
|
||||
|
||||
val callableBuilder = CallableBuilderConfiguration(callableInfos, element, file, null, isExtension).createBuilder()
|
||||
val callableBuilder = CallableBuilderConfiguration(callableInfos, element, isExtension = isExtension).createBuilder()
|
||||
val receiverTypeCandidates = callableBuilder.computeTypeCandidates(callableInfos.first().receiverTypeInfo)
|
||||
val propertyInfo = callableInfos.firstOrNull { it is PropertyInfo } as PropertyInfo?
|
||||
val isFunction = callableInfos.any { it.kind == CallableKind.FUNCTION }
|
||||
|
||||
+1
-1
@@ -66,7 +66,7 @@ open class CreateParameterFromUsageFix<E : KtElement>(
|
||||
) : CreateParameterFromUsageFix<E>? {
|
||||
val receiverClassDescriptor: ClassDescriptor
|
||||
|
||||
val builder = CallableBuilderConfiguration(listOf(info), element, element.getContainingKtFile(), null, false).createBuilder()
|
||||
val builder = CallableBuilderConfiguration(listOf(info), element).createBuilder()
|
||||
val receiverTypeCandidate = builder.computeTypeCandidates(info.receiverTypeInfo).firstOrNull()
|
||||
if (receiverTypeCandidate != null) {
|
||||
builder.placement = CallablePlacement.WithReceiver(receiverTypeCandidate)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// "Import" "false"
|
||||
// ACTION: Create extension function 'inc'
|
||||
// ACTION: Create extension function 'H?.inc'
|
||||
// ACTION: Create member function 'inc'
|
||||
// ACTION: Replace overloaded operator with function call
|
||||
// ERROR: Unresolved reference: ++
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// "Import" "false"
|
||||
// ERROR: Unresolved reference: foo()["str"]
|
||||
// ERROR: No get method providing array access
|
||||
// ACTION: Create extension function 'get'
|
||||
// ACTION: Create extension function 'Some.get'
|
||||
// ACTION: Create member function 'get'
|
||||
// ACTION: Replace overloaded operator with function call
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
// "Import" "false"
|
||||
// ERROR: Unresolved reference: foo()["str"]
|
||||
// ERROR: No set method providing array access
|
||||
// ACTION: Create extension function 'set'
|
||||
// ACTION: Create extension function 'Some.set'
|
||||
// ACTION: Create member function 'set'
|
||||
// ACTION: Replace overloaded operator with function call
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
// "Import" "false"
|
||||
// ERROR: Unresolved reference: foo()["str"]
|
||||
// ERROR: No get method providing array access
|
||||
// ACTION: Create extension function 'get'
|
||||
// ACTION: Create extension function 'Some.get'
|
||||
// ACTION: Create member function 'get'
|
||||
// ACTION: Replace overloaded operator with function call
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// "Import" "false"
|
||||
// ERROR: Unresolved reference: foo
|
||||
// ACTION: Create extension function 'foo'
|
||||
// ACTION: Create extension function 'H.foo'
|
||||
// ACTION: Create member function 'foo'
|
||||
// ACTION: Replace infix call with ordinary call
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// FILE: first.before.kt
|
||||
// "Import" "false"
|
||||
// ERROR: Expression 'Some()' of type 'Some' cannot be invoked as a function. The function 'invoke()' is not found
|
||||
// ACTION: Create extension function 'invoke'
|
||||
// ACTION: Create extension function 'Some.invoke'
|
||||
// ACTION: Create member function 'invoke'
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
// FILE: first.before.kt
|
||||
// "Import" "false"
|
||||
// ERROR: Destructuring declaration initializer of type Some must have a 'component1()' function
|
||||
// ACTION: Create extension function 'component1'
|
||||
// ACTION: Create extension function 'Some.component1'
|
||||
// ACTION: Create member function 'component1'
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
// "Create class 'Foo'" "false"
|
||||
// ACTION: Create extension function 'Foo'
|
||||
// ACTION: Create extension function 'Int.Foo'
|
||||
// ACTION: Rename reference
|
||||
// ERROR: Unresolved reference: Foo
|
||||
// WITH_RUNTIME
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
// "Create class 'Foo'" "false"
|
||||
// ACTION: Create extension function 'Foo'
|
||||
// ACTION: Create extension function 'List<T>.Foo'
|
||||
// ACTION: Rename reference
|
||||
// ERROR: Unresolved reference: Foo
|
||||
// WITH_RUNTIME
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
// "Create class 'A'" "false"
|
||||
// ACTION: Create extension property 'A'
|
||||
// ACTION: Create extension property 'X.A'
|
||||
// ACTION: Create member property 'A'
|
||||
// ACTION: Create property 'A' as constructor parameter
|
||||
// ACTION: Rename reference
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
// "Create enum constant 'A'" "false"
|
||||
// ACTION: Create extension property 'A'
|
||||
// ACTION: Create extension property 'X.A'
|
||||
// ACTION: Create member property 'A'
|
||||
// ACTION: Create property 'A' as constructor parameter
|
||||
// ACTION: Rename reference
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
// "Create object 'A'" "false"
|
||||
// ACTION: Create extension property 'A'
|
||||
// ACTION: Create extension property 'X.A'
|
||||
// ACTION: Create member property 'A'
|
||||
// ACTION: Create property 'A' as constructor parameter
|
||||
// ACTION: Rename reference
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'plus'" "true"
|
||||
// "Create extension function 'Int.plus'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A<T>(val n: T)
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'plus'" "true"
|
||||
// "Create extension function 'Int.plus'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A<T>(val n: T)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function '!u00A0'" "true"
|
||||
// "Create extension function 'Int.!u00A0'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun test() {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function '!u00A0'" "true"
|
||||
// "Create extension function 'Int.!u00A0'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun test() {
|
||||
|
||||
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
||||
// "Create abstract function 'foo'" "false"
|
||||
// ACTION: Convert to expression body
|
||||
// ACTION: Create extension function 'foo'
|
||||
// ACTION: Create extension function 'B.foo'
|
||||
// ACTION: Create member function 'foo'
|
||||
// ACTION: Rename reference
|
||||
// ERROR: Unresolved reference: foo
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'A.foo'" "true"
|
||||
fun bar(b: Boolean) {
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'A.foo'" "true"
|
||||
fun bar(b: Boolean) {
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'A.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
fun bar(b: Boolean) {
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'A.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
fun bar(b: Boolean) {
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'A.foo'" "true"
|
||||
// ERROR: Property must be initialized
|
||||
class A(val n: Int)
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'A.foo'" "true"
|
||||
// ERROR: Property must be initialized
|
||||
class A(val n: Int)
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'A.foo'" "true"
|
||||
// ERROR: Property must be initialized
|
||||
class A(val n: Int)
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'A.foo'" "true"
|
||||
// ERROR: Property must be initialized
|
||||
class A(val n: Int)
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'A.foo'" "true"
|
||||
// ERROR: Unresolved reference: foo
|
||||
|
||||
fun test(): Int {
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'A.foo'" "true"
|
||||
// ERROR: Unresolved reference: foo
|
||||
|
||||
fun test(): Int {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'A.foo'" "true"
|
||||
// ERROR: Unresolved reference: foo
|
||||
|
||||
fun test(): Int? {
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'A.foo'" "true"
|
||||
// ERROR: Unresolved reference: foo
|
||||
|
||||
fun test(): Int? {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'T.foo'" "true"
|
||||
|
||||
interface T
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'T.foo'" "true"
|
||||
|
||||
interface T
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'A.foo'" "true"
|
||||
// ERROR: Unresolved reference: foo
|
||||
|
||||
import package1.A
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'A.foo'" "true"
|
||||
// ERROR: Unresolved reference: foo
|
||||
|
||||
import package1.A
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// "Create member function 'foo'" "false"
|
||||
// ACTION: Convert to expression body
|
||||
// ACTION: Create extension function 'foo'
|
||||
// ACTION: Create extension function 'A.foo'
|
||||
// ACTION: Rename reference
|
||||
// ERROR: Unresolved reference: foo
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'Unit.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun test() {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'Unit.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun test() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'Int.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A<T>(val n: T)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'Int.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A<T>(val n: T)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'bar'" "true"
|
||||
// "Create extension function '((Int) -> String).bar'" "true"
|
||||
|
||||
fun foo(block: (Int) -> String) {
|
||||
block.b<caret>ar()
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'bar'" "true"
|
||||
// "Create extension function '((Int) -> String).bar'" "true"
|
||||
|
||||
fun foo(block: (Int) -> String) {
|
||||
block.bar()
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'List<T>.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A<T>(val items: List<T>) {
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'List<T>.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A<T>(val items: List<T>) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'List<T>.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A<T>(val items: List<T>) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'List<T>.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A<T>(val items: List<T>) {
|
||||
|
||||
idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/extensionWithReceiverArg.kt
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'List<T>.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A<T>(val items: List<T>) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'List<T>.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A<T>(val items: List<T>) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'bar'" "true"
|
||||
// "Create extension function 'T.bar'" "true"
|
||||
fun <T> foo(t: T) {
|
||||
t.<caret>bar()
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'bar'" "true"
|
||||
// "Create extension function 'T.bar'" "true"
|
||||
fun <T> foo(t: T) {
|
||||
t.bar()
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// "Create member function 'bar'" "false"
|
||||
// ACTION: Create extension function 'bar'
|
||||
// ACTION: Create extension function 'T.bar'
|
||||
// ACTION: Rename reference
|
||||
// ERROR: Unresolved reference: bar
|
||||
fun <T> foo(t: T) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'Int.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
fun <T, U> T.map(f: T.() -> U) = f()
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'Int.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
fun <T, U> T.map(f: T.() -> U) = f()
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'Int.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
fun <T, U> T.map(f: (T) -> U) = f(this)
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'foo'" "true"
|
||||
// "Create extension function 'Int.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
fun <T, U> T.map(f: (T) -> U) = f(this)
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'component2'" "true"
|
||||
// "Create extension function 'Any.component2'" "true"
|
||||
// WITH_RUNTIME
|
||||
class FooIterator<T> {
|
||||
operator fun hasNext(): Boolean { return false }
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'component2'" "true"
|
||||
// "Create extension function 'Any.component2'" "true"
|
||||
// WITH_RUNTIME
|
||||
class FooIterator<T> {
|
||||
operator fun hasNext(): Boolean { return false }
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'get'" "true"
|
||||
// "Create extension function 'Any.get'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun x (y: Any) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'get'" "true"
|
||||
// "Create extension function 'Any.get'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun x (y: Any) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'invoke'" "true"
|
||||
// "Create extension function 'Int.invoke'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A<T>(val n: T)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'invoke'" "true"
|
||||
// "Create extension function 'Int.invoke'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
class A<T>(val n: T)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'set'" "true"
|
||||
// "Create extension function 'Any.set'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
class Foo<T> {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
import java.util.ArrayList
|
||||
|
||||
// "Create extension function 'set'" "true"
|
||||
// "Create extension function 'Any.set'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
class Foo<T> {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'unaryMinus'" "true"
|
||||
// "Create extension function 'Boolean.unaryMinus'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun test() {
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension function 'unaryMinus'" "true"
|
||||
// "Create extension function 'Boolean.unaryMinus'" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun test() {
|
||||
|
||||
+1
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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() {
|
||||
|
||||
+1
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
|
||||
|
||||
Vendored
+1
-1
@@ -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
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -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
-1
@@ -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
|
||||
|
||||
Vendored
+1
-1
@@ -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
-1
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'A.foo'" "true"
|
||||
// ERROR: Unresolved reference: foo
|
||||
|
||||
import package1.A
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'A.foo'" "true"
|
||||
// ERROR: Unresolved reference: foo
|
||||
|
||||
import package1.A
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'A.foo'" "true"
|
||||
// ERROR: Unresolved reference: foo
|
||||
|
||||
val A.foo: String?
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'A.foo'" "true"
|
||||
// ERROR: Unresolved reference: foo
|
||||
|
||||
fun test(): String? {
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'A.foo'" "true"
|
||||
// ERROR: Unresolved reference: foo
|
||||
|
||||
val A.foo: String?
|
||||
|
||||
idea/testData/quickfix/createFromUsage/createVariable/property/extensionValOnJavaType.before.Main.kt
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'A.foo'" "true"
|
||||
// ERROR: Unresolved reference: foo
|
||||
|
||||
fun test(): String? {
|
||||
|
||||
+1
-1
@@ -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
-1
@@ -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
-1
@@ -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() {
|
||||
|
||||
Vendored
+1
-1
@@ -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
|
||||
|
||||
Vendored
+1
-1
@@ -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
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'Unit.foo'" "true"
|
||||
// ERROR: Property must be initialized
|
||||
// WITH_RUNTIME
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'Unit.foo'" "true"
|
||||
// ERROR: Property must be initialized
|
||||
// WITH_RUNTIME
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'Int.foo'" "true"
|
||||
// ERROR: Property must be initialized
|
||||
// WITH_RUNTIME
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'Int.foo'" "true"
|
||||
// ERROR: Property must be initialized
|
||||
// WITH_RUNTIME
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'Int.foo'" "true"
|
||||
// ERROR: Property must be initialized
|
||||
// WITH_RUNTIME
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Create extension property 'foo'" "true"
|
||||
// "Create extension property 'Int.foo'" "true"
|
||||
// ERROR: Property must be initialized
|
||||
// WITH_RUNTIME
|
||||
|
||||
|
||||
Reference in New Issue
Block a user