KT-9970 Regression: completion doesn't see private extension functions with parametrized receiver
#KT-9970 Fixed
This commit is contained in:
@@ -214,7 +214,7 @@ public class Visibilities {
|
||||
@NotNull DeclarationDescriptorWithVisibility what,
|
||||
@NotNull DeclarationDescriptor from
|
||||
) {
|
||||
DeclarationDescriptorWithVisibility parent = what;
|
||||
DeclarationDescriptorWithVisibility parent = (DeclarationDescriptorWithVisibility) what.getOriginal();
|
||||
while (parent != null && parent.getVisibility() != LOCAL) {
|
||||
if (!parent.getVisibility().isVisible(receiver, parent, from)) {
|
||||
return parent;
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
class Z<T> {
|
||||
fun f(): Z<T> = ext<caret>
|
||||
}
|
||||
|
||||
private fun <T> Z<T>.extFun() = Z<T>()
|
||||
|
||||
// EXIST: "extFun"
|
||||
+6
@@ -2352,6 +2352,12 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common/visibility"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("KT9970.kt")
|
||||
public void testKT9970() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/visibility/KT9970.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("VisibilityClassMembersFromExternal.kt")
|
||||
public void testVisibilityClassMembersFromExternal() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/visibility/VisibilityClassMembersFromExternal.kt");
|
||||
|
||||
+6
@@ -2352,6 +2352,12 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/idea-completion/testData/basic/common/visibility"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("KT9970.kt")
|
||||
public void testKT9970() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/visibility/KT9970.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("VisibilityClassMembersFromExternal.kt")
|
||||
public void testVisibilityClassMembersFromExternal() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/visibility/VisibilityClassMembersFromExternal.kt");
|
||||
|
||||
Reference in New Issue
Block a user