From 2f1108421eac6d9cae2a6b896631860522899f96 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Mon, 16 Nov 2015 18:24:06 +0300 Subject: [PATCH] Added container information when needed --- .../ExtensionFunctionTypeValueCompletion.kt | 4 ++++ .../common/extensionFunctionTypeValues/Simple.kt | 12 ++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ExtensionFunctionTypeValueCompletion.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ExtensionFunctionTypeValueCompletion.kt index 184140bfb69..9d3fa7aa3c5 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ExtensionFunctionTypeValueCompletion.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ExtensionFunctionTypeValueCompletion.kt @@ -68,6 +68,10 @@ class ExtensionFunctionTypeValueCompletion( val parameterTail = presentation.tailFragments.first() presentation.clearTail() presentation.appendTailText(parameterTail.text, false) + + lookupElementFactory.basicFactory.appendContainerAndReceiverInformation(variable) { + presentation.appendTailText(it, true) + } } override fun handleInsert(context: InsertionContext?) { diff --git a/idea/idea-completion/testData/basic/common/extensionFunctionTypeValues/Simple.kt b/idea/idea-completion/testData/basic/common/extensionFunctionTypeValues/Simple.kt index c134efe05ca..b432fba7b41 100644 --- a/idea/idea-completion/testData/basic/common/extensionFunctionTypeValues/Simple.kt +++ b/idea/idea-completion/testData/basic/common/extensionFunctionTypeValues/Simple.kt @@ -1,6 +1,14 @@ -fun test(i: Int, foo: Int.(String) -> Char, fooAny: Any.() -> Unit) { +package ppp + +val fooGlobal: Int.() -> Unit = { } + +val String.fooExt: Int.() -> Unit get() = { } + +fun String.test(i: Int, foo: Int.(String) -> Char, fooAny: Any.() -> Unit) { i.fo } // EXIST: { lookupString: "foo", itemText: "foo", tailText: "(String)", typeText: "Char", attributes: "bold" } -// EXIST: { lookupString: "fooAny", itemText: "fooAny", tailText: "()", typeText: "Unit", attributes: "" } \ No newline at end of file +// EXIST: { lookupString: "fooAny", itemText: "fooAny", tailText: "()", typeText: "Unit", attributes: "" } +// EXIST: { lookupString: "fooGlobal", itemText: "fooGlobal", tailText: "() (ppp)", typeText: "Unit", attributes: "bold" } +// ABSENT: fooExt \ No newline at end of file