KT-11890 Completion for callable references does not propose static Java members
#KT-11890 Fixed
This commit is contained in:
@@ -235,6 +235,11 @@ class ReferenceVariantsHelper(
|
|||||||
descriptors.addNonExtensionMembers(listOf(type), kindFilter, nameFilter, constructorFilter = { true })
|
descriptors.addNonExtensionMembers(listOf(type), kindFilter, nameFilter, constructorFilter = { true })
|
||||||
|
|
||||||
descriptors.addScopeAndSyntheticExtensions(resolutionScope, listOf(type), CallType.CALLABLE_REFERENCE, kindFilter, nameFilter)
|
descriptors.addScopeAndSyntheticExtensions(resolutionScope, listOf(type), CallType.CALLABLE_REFERENCE, kindFilter, nameFilter)
|
||||||
|
|
||||||
|
val staticScope = (type.constructor.declarationDescriptor as? ClassDescriptor)?.staticScope
|
||||||
|
if (staticScope != null) {
|
||||||
|
descriptors.addAll(staticScope.getDescriptorsFiltered(kindFilter, nameFilter))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// process non-instance members and class constructors
|
// process non-instance members and class constructors
|
||||||
|
|||||||
Vendored
+3
@@ -0,0 +1,3 @@
|
|||||||
|
public final class JavaCallableReference {
|
||||||
|
public static void foo(){}
|
||||||
|
}
|
||||||
Vendored
+6
@@ -0,0 +1,6 @@
|
|||||||
|
fun main(args: Array<String>) {
|
||||||
|
val f = JavaCallableReference::<caret>
|
||||||
|
}
|
||||||
|
|
||||||
|
// INVOCATION_COUNT: 1
|
||||||
|
// EXIST: foo
|
||||||
+6
@@ -161,6 +161,12 @@ public class MultiFileJvmBasicCompletionTestGenerated extends AbstractMultiFileJ
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("JavaCallableReference")
|
||||||
|
public void testJavaCallableReference() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/multifile/JavaCallableReference/");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("JavaInnerClasses")
|
@TestMetadata("JavaInnerClasses")
|
||||||
public void testJavaInnerClasses() throws Exception {
|
public void testJavaInnerClasses() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/multifile/JavaInnerClasses/");
|
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/multifile/JavaInnerClasses/");
|
||||||
|
|||||||
Reference in New Issue
Block a user