From 4e16d6732155de7b5e64f7f2dc83b818d9babb69 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Fri, 20 May 2016 21:30:35 +0300 Subject: [PATCH] KT-12427 Completion doesn't work for "@receiver:" annotation target #KT-12427 Fixed --- .../jetbrains/kotlin/idea/completion/KeywordCompletion.kt | 2 +- idea/idea-completion/testData/keywords/Receiver.kt | 3 +++ .../completion/test/KeywordCompletionTestGenerated.java | 6 ++++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 idea/idea-completion/testData/keywords/Receiver.kt diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt index 1b5cfb6e5fa..c9582eaae1d 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt @@ -272,7 +272,7 @@ object KeywordCompletion { private fun buildFilterByText(prefixText: String, project: Project): (KtKeywordToken) -> Boolean { val psiFactory = KtPsiFactory(project) return fun (keywordTokenType): Boolean { - val postfix = if (prefixText.endsWith("@")) ":X" else " X" + val postfix = if (prefixText.endsWith("@")) ":X Y.Z" else " X" val file = psiFactory.createFile(prefixText + keywordTokenType.value + postfix) val elementAt = file.findElementAt(prefixText.length)!! diff --git a/idea/idea-completion/testData/keywords/Receiver.kt b/idea/idea-completion/testData/keywords/Receiver.kt new file mode 100644 index 00000000000..b2351c5f04f --- /dev/null +++ b/idea/idea-completion/testData/keywords/Receiver.kt @@ -0,0 +1,3 @@ +fun @ + +// EXIST: receiver diff --git a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/KeywordCompletionTestGenerated.java b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/KeywordCompletionTestGenerated.java index 95d3052ed91..5033a19a1a6 100644 --- a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/KeywordCompletionTestGenerated.java +++ b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/KeywordCompletionTestGenerated.java @@ -419,6 +419,12 @@ public class KeywordCompletionTestGenerated extends AbstractKeywordCompletionTes doTest(fileName); } + @TestMetadata("Receiver.kt") + public void testReceiver() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/keywords/Receiver.kt"); + doTest(fileName); + } + @TestMetadata("Return1.kt") public void testReturn1() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/keywords/Return1.kt");