KT-11890 Completion for callable references does not propose static Java members

#KT-11890 Fixed
This commit is contained in:
Valentin Kipyatkov
2016-04-18 19:02:33 +03:00
parent f3bb3e9c6e
commit 6bdf3622ed
4 changed files with 20 additions and 0 deletions
@@ -235,6 +235,11 @@ class ReferenceVariantsHelper(
descriptors.addNonExtensionMembers(listOf(type), kindFilter, nameFilter, constructorFilter = { true })
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 {
// process non-instance members and class constructors
@@ -0,0 +1,3 @@
public final class JavaCallableReference {
public static void foo(){}
}
@@ -0,0 +1,6 @@
fun main(args: Array<String>) {
val f = JavaCallableReference::<caret>
}
// INVOCATION_COUNT: 1
// EXIST: foo
@@ -161,6 +161,12 @@ public class MultiFileJvmBasicCompletionTestGenerated extends AbstractMultiFileJ
doTest(fileName);
}
@TestMetadata("JavaCallableReference")
public void testJavaCallableReference() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/multifile/JavaCallableReference/");
doTest(fileName);
}
@TestMetadata("JavaInnerClasses")
public void testJavaInnerClasses() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/multifile/JavaInnerClasses/");