From 41455a56c5a28a52779467ef5e8ad727dbf0c7c7 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Fri, 10 Feb 2012 18:42:23 +0400 Subject: [PATCH] - KT-1227 Can't see basic types in class completion - Remove duplicated test --- .../completion/JetCompletionContributor.java | 28 +++++++++++-------- idea/testData/completion/basic/BasicAny.kt | 5 ++++ idea/testData/completion/basic/BasicInt.kt | 5 ++++ .../handlers/ExistingNoParamsFunction.kt | 10 ------- .../ExistingNoParamsFunction.kt.after | 10 ------- .../completion/handlers/NoParamsFunction.kt | 4 +-- .../handlers/NoParamsFunction.kt.after | 4 +-- .../completion/JetBasicCompletionTest.java | 8 ++++++ .../handlers/CompletionHandlerTest.java | 4 --- 9 files changed, 39 insertions(+), 39 deletions(-) create mode 100644 idea/testData/completion/basic/BasicAny.kt create mode 100644 idea/testData/completion/basic/BasicInt.kt delete mode 100644 idea/testData/completion/handlers/ExistingNoParamsFunction.kt delete mode 100644 idea/testData/completion/handlers/ExistingNoParamsFunction.kt.after diff --git a/idea/src/org/jetbrains/jet/plugin/completion/JetCompletionContributor.java b/idea/src/org/jetbrains/jet/plugin/completion/JetCompletionContributor.java index 3519970f5d7..5392ba70ef4 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/JetCompletionContributor.java +++ b/idea/src/org/jetbrains/jet/plugin/completion/JetCompletionContributor.java @@ -74,10 +74,10 @@ public class JetCompletionContributor extends CompletionContributor { @NotNull final Project project) { if (variant instanceof LookupElement) { - addCompletionToResult(result, (LookupElement) variant, positions, project); + addCompletionToResult(result, (LookupElement) variant, positions); } else { - addCompletionToResult(result, LookupElementBuilder.create(variant.toString()), positions, project); + addCompletionToResult(result, LookupElementBuilder.create(variant.toString()), positions); } } @@ -97,7 +97,7 @@ public class JetCompletionContributor extends CompletionContributor { for (String name : functionNames) { if (name.contains(actualPrefix)) { for (FunctionDescriptor function : namesCache.getTopLevelFunctionDescriptorsByName(name, scope)) { - addCompletionToResult(result, DescriptorLookupConverter.createLookupElement(resolutionContext, function), positions, project); + addCompletionToResult(result, DescriptorLookupConverter.createLookupElement(resolutionContext, function), positions); } } } @@ -126,7 +126,7 @@ public class JetCompletionContributor extends CompletionContributor { javaPsiReferenceElement.setInsertHandler(JetJavaClassInsertHandler.JAVA_CLASS_INSERT_HANDLER); } - addCompletionToResult(result, element, positions, parameters.getPosition().getProject()); + addCompletionToResult(result, element, positions); } }); } @@ -176,17 +176,23 @@ public class JetCompletionContributor extends CompletionContributor { private static void addCompletionToResult( @NotNull final CompletionResultSet result, @NotNull LookupElement element, - @NotNull HashSet positions, - @NotNull Project project) { + @NotNull HashSet positions) { - final LookupPositionObject lookupPosition = getLookupPosition(element, project); - if (lookupPosition != null && !positions.contains(lookupPosition)) { - positions.add(lookupPosition); - result.addElement(element); + final LookupPositionObject lookupPosition = getLookupPosition(element); + if (lookupPosition != null) { + if (!positions.contains(lookupPosition)) { + positions.add(lookupPosition); + result.addElement(element); + } + + // There is already an element with same position - ignore duplicate + } + else { + result.addElement(element); } } - private static LookupPositionObject getLookupPosition(LookupElement element, Project project) { + private static LookupPositionObject getLookupPosition(LookupElement element) { final Object lookupObject = element.getObject(); if (lookupObject instanceof PsiElement) { return new LookupPositionObject((PsiElement) lookupObject); diff --git a/idea/testData/completion/basic/BasicAny.kt b/idea/testData/completion/basic/BasicAny.kt new file mode 100644 index 00000000000..4e58b56e273 --- /dev/null +++ b/idea/testData/completion/basic/BasicAny.kt @@ -0,0 +1,5 @@ +fun some() { + var a : A +} + +// EXIST: Any \ No newline at end of file diff --git a/idea/testData/completion/basic/BasicInt.kt b/idea/testData/completion/basic/BasicInt.kt new file mode 100644 index 00000000000..fb4dcf288c0 --- /dev/null +++ b/idea/testData/completion/basic/BasicInt.kt @@ -0,0 +1,5 @@ +fun some() { + var a : In +} + +// EXIST: Int \ No newline at end of file diff --git a/idea/testData/completion/handlers/ExistingNoParamsFunction.kt b/idea/testData/completion/handlers/ExistingNoParamsFunction.kt deleted file mode 100644 index b6abcee0369..00000000000 --- a/idea/testData/completion/handlers/ExistingNoParamsFunction.kt +++ /dev/null @@ -1,10 +0,0 @@ -package testing.handlers - -fun test() { -} - -fun other() { - te() -} - -// INSERT: test \ No newline at end of file diff --git a/idea/testData/completion/handlers/ExistingNoParamsFunction.kt.after b/idea/testData/completion/handlers/ExistingNoParamsFunction.kt.after deleted file mode 100644 index 92da48be6da..00000000000 --- a/idea/testData/completion/handlers/ExistingNoParamsFunction.kt.after +++ /dev/null @@ -1,10 +0,0 @@ -package testing.handlers - -fun test() { -} - -fun other() { - test() -} - -// INSERT: test \ No newline at end of file diff --git a/idea/testData/completion/handlers/NoParamsFunction.kt b/idea/testData/completion/handlers/NoParamsFunction.kt index 6d697aa0f7f..9df920c7142 100644 --- a/idea/testData/completion/handlers/NoParamsFunction.kt +++ b/idea/testData/completion/handlers/NoParamsFunction.kt @@ -1,10 +1,10 @@ package testing.handlers -fun test() { +fun testFun() { } fun other() { - te + testFu } // INSERT: test \ No newline at end of file diff --git a/idea/testData/completion/handlers/NoParamsFunction.kt.after b/idea/testData/completion/handlers/NoParamsFunction.kt.after index 92da48be6da..8e68206232e 100644 --- a/idea/testData/completion/handlers/NoParamsFunction.kt.after +++ b/idea/testData/completion/handlers/NoParamsFunction.kt.after @@ -1,10 +1,10 @@ package testing.handlers -fun test() { +fun testFun() { } fun other() { - test() + testFun() } // INSERT: test \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/completion/JetBasicCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/JetBasicCompletionTest.java index b22ea0075d6..e21e4f25d84 100644 --- a/idea/tests/org/jetbrains/jet/completion/JetBasicCompletionTest.java +++ b/idea/tests/org/jetbrains/jet/completion/JetBasicCompletionTest.java @@ -9,6 +9,14 @@ import java.io.File; */ public class JetBasicCompletionTest extends JetCompletionTestBase { + public void testBasicAny() { + doTest(); + } + + public void testBasicInt() { + doTest(); + } + public void testBeforeDotInCall() { doTest(); } diff --git a/idea/tests/org/jetbrains/jet/completion/handlers/CompletionHandlerTest.java b/idea/tests/org/jetbrains/jet/completion/handlers/CompletionHandlerTest.java index c381d64a3d6..17b1b521a48 100644 --- a/idea/tests/org/jetbrains/jet/completion/handlers/CompletionHandlerTest.java +++ b/idea/tests/org/jetbrains/jet/completion/handlers/CompletionHandlerTest.java @@ -11,10 +11,6 @@ import java.io.File; */ public class CompletionHandlerTest extends LightCompletionTestCase { - public void testExistingNoParamsFunction() { - doTest(); - } - public void testNoParamsFunction() { doTest(); }