Filtered out incorrect suggestion of extension methods in smart completion
This commit is contained in:
committed by
valentin
parent
f43a9968ba
commit
427b3c80bc
@@ -92,7 +92,9 @@ class StaticMembers(val bindingContext: BindingContext, val resolveSession: Reso
|
|||||||
|
|
||||||
val classObject = classDescriptor.getClassObjectDescriptor()
|
val classObject = classDescriptor.getClassObjectDescriptor()
|
||||||
if (classObject != null) {
|
if (classObject != null) {
|
||||||
classObject.getDefaultType().getMemberScope().getAllDescriptors().forEach(::processMember)
|
classObject.getDefaultType().getMemberScope().getAllDescriptors()
|
||||||
|
.filter { it !is CallableDescriptor || it.getReceiverParameter() == null }
|
||||||
|
.forEach(::processMember)
|
||||||
}
|
}
|
||||||
|
|
||||||
var members = classDescriptor.getDefaultType().getMemberScope().getAllDescriptors()
|
var members = classDescriptor.getDefaultType().getMemberScope().getAllDescriptors()
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
class X {
|
||||||
|
class object {
|
||||||
|
fun String.f(): X = X()
|
||||||
|
fun g(): X = X()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun foo(): X {
|
||||||
|
return <caret>
|
||||||
|
}
|
||||||
|
|
||||||
|
// ABSENT: X.f
|
||||||
|
// EXIST: X.g
|
||||||
@@ -17,10 +17,13 @@
|
|||||||
package org.jetbrains.jet.completion;
|
package org.jetbrains.jet.completion;
|
||||||
|
|
||||||
import com.intellij.testFramework.TestDataPath;
|
import com.intellij.testFramework.TestDataPath;
|
||||||
|
import junit.framework.Test;
|
||||||
|
import junit.framework.TestSuite;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
import org.jetbrains.jet.JetTestUtils;
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
import org.jetbrains.jet.test.InnerTestClasses;
|
import org.jetbrains.jet.test.InnerTestClasses;
|
||||||
import org.jetbrains.jet.test.TestMetadata;
|
import org.jetbrains.jet.test.TestMetadata;
|
||||||
import org.junit.runner.RunWith;
|
import org.jetbrains.jet.JUnit3RunnerWithInners;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|||||||
@@ -17,10 +17,13 @@
|
|||||||
package org.jetbrains.jet.completion;
|
package org.jetbrains.jet.completion;
|
||||||
|
|
||||||
import com.intellij.testFramework.TestDataPath;
|
import com.intellij.testFramework.TestDataPath;
|
||||||
|
import junit.framework.Test;
|
||||||
|
import junit.framework.TestSuite;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
import org.jetbrains.jet.JetTestUtils;
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
import org.jetbrains.jet.test.InnerTestClasses;
|
import org.jetbrains.jet.test.InnerTestClasses;
|
||||||
import org.jetbrains.jet.test.TestMetadata;
|
import org.jetbrains.jet.test.TestMetadata;
|
||||||
import org.junit.runner.RunWith;
|
import org.jetbrains.jet.JUnit3RunnerWithInners;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|||||||
@@ -17,13 +17,9 @@
|
|||||||
package org.jetbrains.jet.completion;
|
package org.jetbrains.jet.completion;
|
||||||
|
|
||||||
import com.intellij.testFramework.TestDataPath;
|
import com.intellij.testFramework.TestDataPath;
|
||||||
import junit.framework.Test;
|
|
||||||
import junit.framework.TestSuite;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.jetbrains.jet.JetTestUtils;
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
import org.jetbrains.jet.test.InnerTestClasses;
|
|
||||||
import org.jetbrains.jet.test.TestMetadata;
|
import org.jetbrains.jet.test.TestMetadata;
|
||||||
import org.jetbrains.jet.JUnit3RunnerWithInners;
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
@@ -446,6 +442,12 @@ public class JvmSmartCompletionTestGenerated extends AbstractJvmSmartCompletionT
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("NoExtensionMethodFromClassObject.kt")
|
||||||
|
public void testNoExtensionMethodFromClassObject() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/smart/NoExtensionMethodFromClassObject.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("NoFunctionReferenceAfterQualifier.kt")
|
@TestMetadata("NoFunctionReferenceAfterQualifier.kt")
|
||||||
public void testNoFunctionReferenceAfterQualifier() throws Exception {
|
public void testNoFunctionReferenceAfterQualifier() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/smart/NoFunctionReferenceAfterQualifier.kt");
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/smart/NoFunctionReferenceAfterQualifier.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user