diff --git a/idea/src/org/jetbrains/jet/plugin/caches/KotlinIndicesHelper.kt b/idea/src/org/jetbrains/jet/plugin/caches/KotlinIndicesHelper.kt index f705faf94ca..b78fdfa3fe4 100644 --- a/idea/src/org/jetbrains/jet/plugin/caches/KotlinIndicesHelper.kt +++ b/idea/src/org/jetbrains/jet/plugin/caches/KotlinIndicesHelper.kt @@ -199,12 +199,13 @@ public class KotlinIndicesHelper(private val project: Project, module: ModuleDescriptor, bindingContext: BindingContext): Collection { val fqnString = callableFQN.asString() - val descriptors = if (index != null) { + val descriptors = /* this code is temporarily disabled because taking descriptors from another resolve session causes duplicates and potentially other problems*/ + /*if (index != null) { index.get(fqnString, project, scope) .filter { it.getReceiverTypeReference() != null } .map { it.getLazyResolveSession().resolveToDescriptor(it) as CallableDescriptor } } - else { + else*/ run { val importDirective = JetPsiFactory(project).createImportDirective(fqnString) analyzeImportReference(importDirective, resolutionScope, BindingTraceContext(), module) .filterIsInstance(javaClass()) diff --git a/idea/testData/completion/basic/multifile/NoExtensionMethodDuplication/NoExtensionMethodDuplication.dependency.kt b/idea/testData/completion/basic/multifile/NoExtensionMethodDuplication/NoExtensionMethodDuplication.dependency.kt new file mode 100644 index 00000000000..f004294e381 --- /dev/null +++ b/idea/testData/completion/basic/multifile/NoExtensionMethodDuplication/NoExtensionMethodDuplication.dependency.kt @@ -0,0 +1,6 @@ +package ppp + +class C + +fun C.extFun1(){} +fun C.extFun2(){} diff --git a/idea/testData/completion/basic/multifile/NoExtensionMethodDuplication/NoExtensionMethodDuplication.kt b/idea/testData/completion/basic/multifile/NoExtensionMethodDuplication/NoExtensionMethodDuplication.kt new file mode 100644 index 00000000000..a278bfdc545 --- /dev/null +++ b/idea/testData/completion/basic/multifile/NoExtensionMethodDuplication/NoExtensionMethodDuplication.kt @@ -0,0 +1,9 @@ +package ppp + +fun f() { + C().ext +} + +// EXIST: extFun1 +// EXIST: extFun2 +// NUMBER: 2 diff --git a/idea/tests/org/jetbrains/jet/completion/MultiFileJvmBasicCompletionTestGenerated.java b/idea/tests/org/jetbrains/jet/completion/MultiFileJvmBasicCompletionTestGenerated.java index a256a421927..7ba24aabbcb 100644 --- a/idea/tests/org/jetbrains/jet/completion/MultiFileJvmBasicCompletionTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/completion/MultiFileJvmBasicCompletionTestGenerated.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; @@ -120,6 +119,12 @@ public class MultiFileJvmBasicCompletionTestGenerated extends AbstractMultiFileJ doTest(fileName); } + @TestMetadata("NoExtensionMethodDuplication") + public void testNoExtensionMethodDuplication() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/multifile/NoExtensionMethodDuplication/"); + doTest(fileName); + } + @TestMetadata("NotImportedExtensionForImplicitReceiver") public void testNotImportedExtensionForImplicitReceiver() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/multifile/NotImportedExtensionForImplicitReceiver/");