diff --git a/idea/src/org/jetbrains/jet/plugin/completion/LookupElementFactory.kt b/idea/src/org/jetbrains/jet/plugin/completion/LookupElementFactory.kt index 51f93a229e9..972b74ab681 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/LookupElementFactory.kt +++ b/idea/src/org/jetbrains/jet/plugin/completion/LookupElementFactory.kt @@ -140,7 +140,7 @@ public class LookupElementFactory( } private fun createLookupElement( - analyzer: ResolutionFacade, + resolutionFacade: ResolutionFacade, descriptor: DeclarationDescriptor, declaration: PsiElement? ): LookupElement { @@ -155,7 +155,7 @@ public class LookupElementFactory( } - var element = LookupElementBuilder.create(DeclarationDescriptorLookupObject(descriptor, analyzer, declaration), descriptor.getName().asString()) + var element = LookupElementBuilder.create(DeclarationDescriptorLookupObject(descriptor, resolutionFacade, declaration), descriptor.getName().asString()) .withIcon(JetDescriptorIconProvider.getIcon(descriptor, declaration, Iconable.ICON_FLAG_VISIBILITY)) when (descriptor) { @@ -194,6 +194,13 @@ public class LookupElementFactory( val receiverPresentation = DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderType(receiver.getType()) element = element.appendTailText(" for $receiverPresentation in $containerPresentation", true) } + else { + val container = descriptor.getContainingDeclaration() + if (container is PackageFragmentDescriptor) { // we show container only for global functions and properties + //TODO: it would be probably better to show it also for static declarations which are not from the current class (imported) + element = element.appendTailText(" (${container.fqName})", true) + } + } } if (KotlinBuiltIns.isDeprecated(descriptor)) { diff --git a/idea/testData/completion/basic/common/FunctionCompletionFormatting.kt b/idea/testData/completion/basic/common/FunctionCompletionFormatting.kt index c01528b67db..679e89c5419 100644 --- a/idea/testData/completion/basic/common/FunctionCompletionFormatting.kt +++ b/idea/testData/completion/basic/common/FunctionCompletionFormatting.kt @@ -4,4 +4,4 @@ fun some() { tes } -// EXIST: { lookupString:"test", itemText:"test", tailText:"(a: Int)" } \ No newline at end of file +// EXIST: { lookupString:"test", itemText:"test", tailText:"(a: Int) ()" } \ No newline at end of file diff --git a/idea/testData/completion/basic/common/HigherOrderFunction1.kt b/idea/testData/completion/basic/common/HigherOrderFunction1.kt index 6c193db26e8..9333f5c921b 100644 --- a/idea/testData/completion/basic/common/HigherOrderFunction1.kt +++ b/idea/testData/completion/basic/common/HigherOrderFunction1.kt @@ -4,5 +4,5 @@ fun test() { fo } -// EXIST: { lookupString:"foo", itemText: "foo", tailText: "(p: (String, Char) -> Unit)", typeText:"Unit" } -// EXIST: { lookupString:"foo", itemText: "foo", tailText: " { (String, Char) -> ... }", typeText:"Unit" } +// EXIST: { lookupString:"foo", itemText: "foo", tailText: "(p: (String, Char) -> Unit) ()", typeText:"Unit" } +// EXIST: { lookupString:"foo", itemText: "foo", tailText: " { (String, Char) -> ... } ()", typeText:"Unit" } diff --git a/idea/testData/completion/smart/SAMExpected1.kt b/idea/testData/completion/smart/SAMExpected1.kt index 29d4eeacf05..977ce676675 100644 --- a/idea/testData/completion/smart/SAMExpected1.kt +++ b/idea/testData/completion/smart/SAMExpected1.kt @@ -1,3 +1,3 @@ var a : Runnable = -// EXIST: {"lookupString":"Runnable", "itemText":"Runnable", "tailText":"(function: () -> Unit)", "typeText":"Runnable"} +// EXIST: {"lookupString":"Runnable", "itemText":"Runnable", "tailText":"(function: () -> Unit) (java.lang)", "typeText":"Runnable"}