KT-12427 Completion doesn't work for "@receiver:" annotation target

#KT-12427 Fixed
This commit is contained in:
Valentin Kipyatkov
2016-05-20 21:30:35 +03:00
parent 1413a3fe63
commit 4e16d67321
3 changed files with 10 additions and 1 deletions

View File

@@ -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)!!

View File

@@ -0,0 +1,3 @@
fun @<caret>
// EXIST: receiver

View File

@@ -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");