No class completion in Leda (Leda only)
This commit is contained in:
@@ -20,12 +20,8 @@ import com.intellij.codeInsight.completion.*;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.patterns.PlatformPatterns;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiReference;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.ProcessingContext;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.asJava.JetLightClass;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||
@@ -35,10 +31,8 @@ import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.plugin.caches.JetCacheManager;
|
||||
import org.jetbrains.jet.plugin.caches.JetShortNamesCache;
|
||||
import org.jetbrains.jet.plugin.completion.handlers.JetJavaClassInsertHandler;
|
||||
import org.jetbrains.jet.plugin.completion.weigher.JetCompletionSorting;
|
||||
import org.jetbrains.jet.plugin.project.JsModuleDetector;
|
||||
import org.jetbrains.jet.plugin.project.WholeProjectAnalyzerFacade;
|
||||
import org.jetbrains.jet.plugin.references.JetSimpleNameReference;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@@ -47,31 +41,32 @@ import java.util.Collection;
|
||||
*/
|
||||
public class JetClassCompletionContributor extends CompletionContributor {
|
||||
public JetClassCompletionContributor() {
|
||||
extend(CompletionType.CLASS_NAME, PlatformPatterns.psiElement(),
|
||||
new CompletionProvider<CompletionParameters>() {
|
||||
@Override
|
||||
protected void addCompletions(@NotNull CompletionParameters parameters, ProcessingContext context,
|
||||
final @NotNull CompletionResultSet result) {
|
||||
final CompletionResultSet jetResult = JetCompletionSorting.addJetSorting(parameters, result);
|
||||
|
||||
final PsiElement position = parameters.getPosition();
|
||||
if (!(position.getContainingFile() instanceof JetFile)) {
|
||||
return;
|
||||
}
|
||||
|
||||
final PsiReference ref = position.getContainingFile().findReferenceAt(parameters.getOffset());
|
||||
if (ref instanceof JetSimpleNameReference) {
|
||||
addClasses(parameters, result, new Consumer<LookupElement>() {
|
||||
@Override
|
||||
public void consume(LookupElement lookupElement) {
|
||||
jetResult.addElement(lookupElement);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
result.stopHere();
|
||||
}
|
||||
});
|
||||
// Should be removed in new idea
|
||||
//extend(CompletionType.CLASS_NAME, PlatformPatterns.psiElement(),
|
||||
// new CompletionProvider<CompletionParameters>() {
|
||||
// @Override
|
||||
// protected void addCompletions(@NotNull CompletionParameters parameters, ProcessingContext context,
|
||||
// final @NotNull CompletionResultSet result) {
|
||||
// final CompletionResultSet jetResult = JetCompletionSorting.addJetSorting(parameters, result);
|
||||
//
|
||||
// final PsiElement position = parameters.getPosition();
|
||||
// if (!(position.getContainingFile() instanceof JetFile)) {
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// final PsiReference ref = position.getContainingFile().findReferenceAt(parameters.getOffset());
|
||||
// if (ref instanceof JetSimpleNameReference) {
|
||||
// addClasses(parameters, result, new Consumer<LookupElement>() {
|
||||
// @Override
|
||||
// public void consume(LookupElement lookupElement) {
|
||||
// jetResult.addElement(lookupElement);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// result.stopHere();
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
class Test {
|
||||
fun test() {
|
||||
<caret>
|
||||
val some : <caret>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ import java.io.File;
|
||||
public class JetClassCompletionTest extends JetCompletionTestBase {
|
||||
|
||||
public void testInExpressionNoPrefix() {
|
||||
|
||||
doTest();
|
||||
}
|
||||
|
||||
@@ -36,7 +37,7 @@ public class JetClassCompletionTest extends JetCompletionTestBase {
|
||||
|
||||
@Override
|
||||
protected CompletionType getCompletionType(String testName, String fileText) {
|
||||
return CompletionType.CLASS_NAME;
|
||||
return CompletionType.BASIC;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -35,11 +35,11 @@ import java.io.File;
|
||||
public class CompletionHandlerTest extends LightCompletionTestCase {
|
||||
|
||||
public void testClassCompletionImport() {
|
||||
doTest(CompletionType.CLASS_NAME, 1, "SortedSet", null);
|
||||
doTest(CompletionType.BASIC, 2, "SortedSet", null);
|
||||
}
|
||||
|
||||
public void testNonStandardArray() {
|
||||
doTest(CompletionType.CLASS_NAME, 1, "Array", "java.lang.reflect");
|
||||
doTest(CompletionType.BASIC, 2, "Array", "java.lang.reflect");
|
||||
}
|
||||
|
||||
public void testNoParamsFunction() {
|
||||
@@ -92,7 +92,10 @@ public class CompletionHandlerTest extends LightCompletionTestCase {
|
||||
complete(time);
|
||||
|
||||
if (lookupString != null || tailText != null) {
|
||||
selectItem(getExistentLookupElement(lookupString, tailText), '\t');
|
||||
LookupElement item = getExistentLookupElement(lookupString, tailText);
|
||||
if (item != null) {
|
||||
selectItem(item, '\t');
|
||||
}
|
||||
}
|
||||
|
||||
checkResultByFile(getAfterFileName());
|
||||
@@ -102,6 +105,7 @@ public class CompletionHandlerTest extends LightCompletionTestCase {
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static LookupElement getExistentLookupElement(@Nullable String lookupString, @Nullable String tailText) {
|
||||
final LookupImpl lookup = (LookupImpl) LookupManager.getInstance(getProject()).getActiveLookup();
|
||||
LookupElement foundElement = null;
|
||||
@@ -140,7 +144,6 @@ public class CompletionHandlerTest extends LightCompletionTestCase {
|
||||
}
|
||||
}
|
||||
|
||||
Assert.assertNotNull("No element found for given constraints",foundElement);
|
||||
return foundElement;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user