diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt index efc75036d89..dce8667ade5 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt @@ -393,7 +393,8 @@ abstract class CompletionSession(protected val configuration: CompletionSessionC private fun createLookupElementFactory(callType: CallType<*>?, receiverTypes: Collection?): LookupElementFactory { val contextVariablesProvider = { nameExpression?.let { - referenceVariantsHelper.getReferenceVariants(it, CallTypeAndReceiver.DEFAULT, DescriptorKindFilter.VARIABLES, nameFilter = { true }) + val descriptorFilter = DescriptorKindFilter.VARIABLES exclude DescriptorKindExclude.Extensions // we exclude extensions by performance reasons + referenceVariantsHelper.getReferenceVariants(it, CallTypeAndReceiver.DEFAULT, descriptorFilter, nameFilter = { true }) .map { it as VariableDescriptor } } ?: emptyList() } diff --git a/idea/idea-completion/testData/basic/common/highOrderFunctions/ContextVariables1.kt b/idea/idea-completion/testData/basic/common/highOrderFunctions/ContextVariables1.kt index d8891297797..20fa7a3648d 100644 --- a/idea/idea-completion/testData/basic/common/highOrderFunctions/ContextVariables1.kt +++ b/idea/idea-completion/testData/basic/common/highOrderFunctions/ContextVariables1.kt @@ -26,5 +26,8 @@ val String.wrongExtension: () -> Unit // EXIST: { itemText: "xfoo", tailText: "(local) ()", typeText: "Unit" } // EXIST: { itemText: "xfoo", tailText: "(global) ()", typeText: "Unit" } // EXIST: { itemText: "xfoo", tailText: "(publicVal) ()", typeText: "Unit" } -// EXIST: { itemText: "xfoo", tailText: "(extension) ()", typeText: "Unit" } + +// excluded by performance reasons: +// ABSENT: { itemText: "xfoo", tailText: "(extension) ()", typeText: "Unit" } + // NOTHING_ELSE diff --git a/idea/idea-completion/testData/basic/common/highOrderFunctions/ContextVariables2.kt b/idea/idea-completion/testData/basic/common/highOrderFunctions/ContextVariables2.kt index 4ace842af9b..8b5de495324 100644 --- a/idea/idea-completion/testData/basic/common/highOrderFunctions/ContextVariables2.kt +++ b/idea/idea-completion/testData/basic/common/highOrderFunctions/ContextVariables2.kt @@ -26,5 +26,8 @@ val String.wrongExtension: () -> Unit // EXIST: { itemText: "xfoo", tailText: "(local) for String in ", typeText: "Unit" } // EXIST: { itemText: "xfoo", tailText: "(global) for String in ", typeText: "Unit" } // EXIST: { itemText: "xfoo", tailText: "(publicVal) for String in ", typeText: "Unit" } -// EXIST: { itemText: "xfoo", tailText: "(extension) for String in ", typeText: "Unit" } + +// excluded by performance reasons: +// ABSENT: { itemText: "xfoo", tailText: "(extension) for String in ", typeText: "Unit" } + // NOTHING_ELSE