KT-6122 Code completion in when in enum extension methods suggests non-qualified enum entry names
#KT-6122 Fixed
This commit is contained in:
@@ -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() }
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
enum class E {
|
||||
A
|
||||
B
|
||||
}
|
||||
|
||||
fun E.foo() {
|
||||
<caret>
|
||||
}
|
||||
|
||||
// ABSENT: A
|
||||
// ABSENT: B
|
||||
@@ -0,0 +1,11 @@
|
||||
class Outer {
|
||||
class Nested
|
||||
inner class Inner
|
||||
}
|
||||
|
||||
fun Outer.foo() {
|
||||
<caret>
|
||||
}
|
||||
|
||||
// ABSENT: Nested
|
||||
// ABSENT: Inner
|
||||
@@ -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");
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user