Completion: for extension functions unsubstituted receiver type shown
This commit is contained in:
@@ -170,14 +170,14 @@ public class LookupElementFactory(
|
||||
}
|
||||
|
||||
if (descriptor is CallableDescriptor) {
|
||||
val receiver = descriptor.getExtensionReceiverParameter()
|
||||
if (receiver != null) {
|
||||
if (descriptor.getExtensionReceiverParameter() != null) {
|
||||
val container = descriptor.getContainingDeclaration()
|
||||
val containerPresentation = if (container is ClassDescriptor)
|
||||
DescriptorUtils.getFqNameFromTopLevelClass(container)
|
||||
else
|
||||
DescriptorUtils.getFqName(container)
|
||||
val receiverPresentation = DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderType(receiver.getType())
|
||||
val originalReceiver = descriptor.getOriginal().getExtensionReceiverParameter()!!
|
||||
val receiverPresentation = DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderType(originalReceiver.getType())
|
||||
element = element.appendTailText(" for $receiverPresentation in $containerPresentation", true)
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
fun foo(list: List<String>) {
|
||||
list.<caret>
|
||||
}
|
||||
// EXIST: { itemText: "firstOrNull", tailText: "(predicate: (String) -> Boolean) for Iterable<String> in kotlin", typeText: "String?" }
|
||||
// EXIST: { itemText: "toMap", tailText: "(selector: (String) -> K) for Iterable<String> in kotlin", typeText: "Map<K, String>" }
|
||||
// EXIST: { itemText: "firstOrNull", tailText: "(predicate: (String) -> Boolean) for Iterable<T> in kotlin", typeText: "String?" }
|
||||
// EXIST: { itemText: "toMap", tailText: "(selector: (String) -> K) for Iterable<T> in kotlin", typeText: "Map<K, String>" }
|
||||
|
||||
@@ -10,5 +10,5 @@ class Outer : Trait<String> {
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: { itemText: "extension", tailText: "(t: String) for Trait<String> in <root>", typeText: "String" }
|
||||
// EXIST: { itemText: "extension", tailText: "(t: Int) for Trait<Int> in <root>", typeText: "Int" }
|
||||
// EXIST: { itemText: "extension", tailText: "(t: String) for Trait<T> in <root>", typeText: "String" }
|
||||
// EXIST: { itemText: "extension", tailText: "(t: Int) for Trait<T> in <root>", typeText: "Int" }
|
||||
|
||||
@@ -8,5 +8,5 @@ fun firstFun() {
|
||||
}
|
||||
|
||||
// INVOCATION_COUNT: 1
|
||||
// EXIST: { lookupString:"toLinkedList", itemText:"toLinkedList", tailText:"() for Iterable<Int!> in kotlin" }
|
||||
// EXIST: { lookupString:"toLinkedList", itemText:"toLinkedList", tailText:"() for Iterable<T> in kotlin" }
|
||||
// NUMBER: 1
|
||||
|
||||
Reference in New Issue
Block a user