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
|
// process instance members that can be called via implicit receiver's instances
|
||||||
val receivers = resolutionScope.getImplicitReceiversWithInstance()
|
val receivers = resolutionScope.getImplicitReceiversWithInstance()
|
||||||
receivers.flatMapTo(descriptorsSet) {
|
val fromReceiversFilter = kindFilter.withoutKinds(DescriptorKindFilter.CLASSIFIERS_MASK) exclude DescriptorKindExclude.Extensions
|
||||||
it.getType().getMemberScope().getDescriptorsFiltered(kindFilter exclude DescriptorKindExclude.Extensions, nameFilter)
|
receivers.flatMapTo(descriptorsSet) { it.getType().getMemberScope().getDescriptorsFiltered(fromReceiversFilter, nameFilter) }
|
||||||
}
|
|
||||||
|
|
||||||
val dataFlowInfo = context.getDataFlowInfo(expression)
|
val dataFlowInfo = context.getDataFlowInfo(expression)
|
||||||
val receiverValues = receivers.map { it.getValue() }
|
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);
|
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")
|
@TestMetadata("NoExtensionsAfterQualifier.kt")
|
||||||
public void testNoExtensionsAfterQualifier() throws Exception {
|
public void testNoExtensionsAfterQualifier() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoExtensionsAfterQualifier.kt");
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoExtensionsAfterQualifier.kt");
|
||||||
@@ -718,6 +724,12 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
|
|||||||
doTest(fileName);
|
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")
|
@TestMetadata("NoPackageFacadeClasses.kt")
|
||||||
public void testNoPackageFacadeClasses() throws Exception {
|
public void testNoPackageFacadeClasses() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoPackageFacadeClasses.kt");
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoPackageFacadeClasses.kt");
|
||||||
|
|||||||
@@ -706,6 +706,12 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
|
|||||||
doTest(fileName);
|
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")
|
@TestMetadata("NoExtensionsAfterQualifier.kt")
|
||||||
public void testNoExtensionsAfterQualifier() throws Exception {
|
public void testNoExtensionsAfterQualifier() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoExtensionsAfterQualifier.kt");
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoExtensionsAfterQualifier.kt");
|
||||||
@@ -718,6 +724,12 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
|
|||||||
doTest(fileName);
|
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")
|
@TestMetadata("NoPackageFacadeClasses.kt")
|
||||||
public void testNoPackageFacadeClasses() throws Exception {
|
public void testNoPackageFacadeClasses() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoPackageFacadeClasses.kt");
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoPackageFacadeClasses.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user