diff --git a/idea/ide-common/src/org/jetbrains/jet/plugin/codeInsight/ReferenceVariantsHelper.kt b/idea/ide-common/src/org/jetbrains/jet/plugin/codeInsight/ReferenceVariantsHelper.kt index 92e35e80a58..76c3726d00d 100644 --- a/idea/ide-common/src/org/jetbrains/jet/plugin/codeInsight/ReferenceVariantsHelper.kt +++ b/idea/ide-common/src/org/jetbrains/jet/plugin/codeInsight/ReferenceVariantsHelper.kt @@ -113,9 +113,8 @@ public class ReferenceVariantsHelper( // process instance members that can be called via implicit receiver's instances val receivers = resolutionScope.getImplicitReceiversWithInstance() - receivers.flatMapTo(descriptorsSet) { - it.getType().getMemberScope().getDescriptorsFiltered(kindFilter exclude DescriptorKindExclude.Extensions, nameFilter) - } + val fromReceiversFilter = kindFilter.withoutKinds(DescriptorKindFilter.CLASSIFIERS_MASK) exclude DescriptorKindExclude.Extensions + receivers.flatMapTo(descriptorsSet) { it.getType().getMemberScope().getDescriptorsFiltered(fromReceiversFilter, nameFilter) } val dataFlowInfo = context.getDataFlowInfo(expression) val receiverValues = receivers.map { it.getValue() } diff --git a/idea/testData/completion/basic/common/NoEnumMembersFromImplicitQualifier.kt b/idea/testData/completion/basic/common/NoEnumMembersFromImplicitQualifier.kt new file mode 100644 index 00000000000..0c46f8cf8cd --- /dev/null +++ b/idea/testData/completion/basic/common/NoEnumMembersFromImplicitQualifier.kt @@ -0,0 +1,11 @@ +enum class E { + A + B +} + +fun E.foo() { + +} + +// ABSENT: A +// ABSENT: B \ No newline at end of file diff --git a/idea/testData/completion/basic/common/NoNestedClassesFromImplicitQualifier.kt b/idea/testData/completion/basic/common/NoNestedClassesFromImplicitQualifier.kt new file mode 100644 index 00000000000..e7f9a510108 --- /dev/null +++ b/idea/testData/completion/basic/common/NoNestedClassesFromImplicitQualifier.kt @@ -0,0 +1,11 @@ +class Outer { + class Nested + inner class Inner +} + +fun Outer.foo() { + +} + +// ABSENT: Nested +// ABSENT: Inner diff --git a/idea/tests/org/jetbrains/jet/completion/JSBasicCompletionTestGenerated.java b/idea/tests/org/jetbrains/jet/completion/JSBasicCompletionTestGenerated.java index 1ca39c2ecd3..bf7ca9fe348 100644 --- a/idea/tests/org/jetbrains/jet/completion/JSBasicCompletionTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/completion/JSBasicCompletionTestGenerated.java @@ -706,6 +706,12 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes doTest(fileName); } + @TestMetadata("NoEnumMembersFromImplicitQualifier.kt") + public void testNoEnumMembersFromImplicitQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoEnumMembersFromImplicitQualifier.kt"); + doTest(fileName); + } + @TestMetadata("NoExtensionsAfterQualifier.kt") public void testNoExtensionsAfterQualifier() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoExtensionsAfterQualifier.kt"); @@ -718,6 +724,12 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes doTest(fileName); } + @TestMetadata("NoNestedClassesFromImplicitQualifier.kt") + public void testNoNestedClassesFromImplicitQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoNestedClassesFromImplicitQualifier.kt"); + doTest(fileName); + } + @TestMetadata("NoPackageFacadeClasses.kt") public void testNoPackageFacadeClasses() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoPackageFacadeClasses.kt"); diff --git a/idea/tests/org/jetbrains/jet/completion/JvmBasicCompletionTestGenerated.java b/idea/tests/org/jetbrains/jet/completion/JvmBasicCompletionTestGenerated.java index 8cb8948c2a5..07c37bb9df9 100644 --- a/idea/tests/org/jetbrains/jet/completion/JvmBasicCompletionTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/completion/JvmBasicCompletionTestGenerated.java @@ -706,6 +706,12 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT doTest(fileName); } + @TestMetadata("NoEnumMembersFromImplicitQualifier.kt") + public void testNoEnumMembersFromImplicitQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoEnumMembersFromImplicitQualifier.kt"); + doTest(fileName); + } + @TestMetadata("NoExtensionsAfterQualifier.kt") public void testNoExtensionsAfterQualifier() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoExtensionsAfterQualifier.kt"); @@ -718,6 +724,12 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT doTest(fileName); } + @TestMetadata("NoNestedClassesFromImplicitQualifier.kt") + public void testNoNestedClassesFromImplicitQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoNestedClassesFromImplicitQualifier.kt"); + doTest(fileName); + } + @TestMetadata("NoPackageFacadeClasses.kt") public void testNoPackageFacadeClasses() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoPackageFacadeClasses.kt");