From e256d14075352a8fd6cc77081ddcfb7c837c864b Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Tue, 28 Oct 2014 20:33:33 +0300 Subject: [PATCH] Smart completion: 2 lookup strings for static member items --- .../jet/plugin/completion/smart/StaticMembers.kt | 4 ++++ .../smart/ClassObjectMembersWithPrefix.kt | 15 +++++++++++++++ .../JvmSmartCompletionTestGenerated.java | 7 ++++++- .../SmartCompletionWeigherTestGenerated.java | 1 + 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 idea/testData/completion/smart/ClassObjectMembersWithPrefix.kt diff --git a/idea/src/org/jetbrains/jet/plugin/completion/smart/StaticMembers.kt b/idea/src/org/jetbrains/jet/plugin/completion/smart/StaticMembers.kt index 7503121c25e..25bd370168b 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/smart/StaticMembers.kt +++ b/idea/src/org/jetbrains/jet/plugin/completion/smart/StaticMembers.kt @@ -110,6 +110,10 @@ class StaticMembers(val bindingContext: BindingContext, val resolveSession: Reso val qualifierText = qualifiedNameForSourceCode(classDescriptor) return object: LookupElementDecorator(lookupElement) { + override fun getAllLookupStrings(): Set { + return setOf(lookupElement.getLookupString(), qualifierPresentation) + } + override fun renderElement(presentation: LookupElementPresentation) { getDelegate().renderElement(presentation) diff --git a/idea/testData/completion/smart/ClassObjectMembersWithPrefix.kt b/idea/testData/completion/smart/ClassObjectMembersWithPrefix.kt new file mode 100644 index 00000000000..14c59aa3f6a --- /dev/null +++ b/idea/testData/completion/smart/ClassObjectMembersWithPrefix.kt @@ -0,0 +1,15 @@ +package sample + +class Kool { + class object { + val foo: Kool = Kool() + fun bar(): Kool = Kool() + } +} + +fun foo(){ + val k : Kool = K +} + +// EXIST: foo +// EXIST: bar diff --git a/idea/tests/org/jetbrains/jet/completion/JvmSmartCompletionTestGenerated.java b/idea/tests/org/jetbrains/jet/completion/JvmSmartCompletionTestGenerated.java index 6e7332e4d9b..2e2570386e3 100644 --- a/idea/tests/org/jetbrains/jet/completion/JvmSmartCompletionTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/completion/JvmSmartCompletionTestGenerated.java @@ -19,7 +19,6 @@ package org.jetbrains.jet.completion; import com.intellij.testFramework.TestDataPath; import org.jetbrains.jet.JUnit3RunnerWithInners; import org.jetbrains.jet.JetTestUtils; -import org.jetbrains.jet.test.InnerTestClasses; import org.jetbrains.jet.test.TestMetadata; import org.junit.runner.RunWith; @@ -150,6 +149,12 @@ public class JvmSmartCompletionTestGenerated extends AbstractJvmSmartCompletionT doTest(fileName); } + @TestMetadata("ClassObjectMembersWithPrefix.kt") + public void testClassObjectMembersWithPrefix() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/smart/ClassObjectMembersWithPrefix.kt"); + doTest(fileName); + } + @TestMetadata("Constructor.kt") public void testConstructor() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/smart/Constructor.kt"); diff --git a/idea/tests/org/jetbrains/jet/completion/weighers/SmartCompletionWeigherTestGenerated.java b/idea/tests/org/jetbrains/jet/completion/weighers/SmartCompletionWeigherTestGenerated.java index e5b86db23ed..dc10785c215 100644 --- a/idea/tests/org/jetbrains/jet/completion/weighers/SmartCompletionWeigherTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/completion/weighers/SmartCompletionWeigherTestGenerated.java @@ -19,6 +19,7 @@ package org.jetbrains.jet.completion.weighers; import com.intellij.testFramework.TestDataPath; import org.jetbrains.jet.JUnit3RunnerWithInners; import org.jetbrains.jet.JetTestUtils; +import org.jetbrains.jet.test.InnerTestClasses; import org.jetbrains.jet.test.TestMetadata; import org.junit.runner.RunWith;