KT-32178 Keyword completion: don't add 'fun' after 'suspend' in type position
#KT-32178 Fixed
This commit is contained in:
committed by
Roman Golyshev
parent
1f878049eb
commit
ba640be81d
@@ -104,7 +104,7 @@ object KeywordCompletion {
|
|||||||
var keyword = keywordToken.value
|
var keyword = keywordToken.value
|
||||||
|
|
||||||
val nextKeyword = when {
|
val nextKeyword = when {
|
||||||
keywordToken == SUSPEND_KEYWORD && ((position.containingFile as? KtFile)?.isScript() == true) -> null
|
keywordToken == SUSPEND_KEYWORD && position.getStrictParentOfType<KtTypeReference>() != null -> null
|
||||||
else -> COMPOUND_KEYWORDS[keywordToken]
|
else -> COMPOUND_KEYWORDS[keywordToken]
|
||||||
}
|
}
|
||||||
var applicableAsCompound = false
|
var applicableAsCompound = false
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ fun foo() {
|
|||||||
val test : <caret>
|
val test : <caret>
|
||||||
}
|
}
|
||||||
|
|
||||||
// EXIST: suspend fun
|
// EXIST: suspend
|
||||||
// NOTHING_ELSE
|
// NOTHING_ELSE
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
val a : <caret>
|
val a : <caret>
|
||||||
|
|
||||||
|
|
||||||
// EXIST: suspend fun
|
// EXIST: suspend
|
||||||
// NOTHING_ELSE
|
// NOTHING_ELSE
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
fun foo(a: <caret>) {}
|
||||||
|
|
||||||
|
// EXIST: suspend
|
||||||
|
// NOTHING_ELSE
|
||||||
@@ -5,7 +5,7 @@ class Su() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// EXIST: suspend fun
|
// EXIST: suspend
|
||||||
|
|
||||||
/* TODO: items below are not valid here */
|
/* TODO: items below are not valid here */
|
||||||
// EXIST: class
|
// EXIST: class
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ class Su() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// EXIST: suspend fun
|
// EXIST: suspend
|
||||||
|
|
||||||
/* TODO: items below are not valid here */
|
/* TODO: items below are not valid here */
|
||||||
// EXIST: class
|
// EXIST: class
|
||||||
|
|||||||
+5
@@ -503,6 +503,11 @@ public class KeywordCompletionTestGenerated extends AbstractKeywordCompletionTes
|
|||||||
runTest("idea/idea-completion/testData/keywords/ReturnSet.kt");
|
runTest("idea/idea-completion/testData/keywords/ReturnSet.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("SuspendInParameterTypePosition.kt")
|
||||||
|
public void testSuspendInParameterTypePosition() throws Exception {
|
||||||
|
runTest("idea/idea-completion/testData/keywords/SuspendInParameterTypePosition.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("SuspendInsideTypeArguments.kt")
|
@TestMetadata("SuspendInsideTypeArguments.kt")
|
||||||
public void testSuspendInsideTypeArguments() throws Exception {
|
public void testSuspendInsideTypeArguments() throws Exception {
|
||||||
runTest("idea/idea-completion/testData/keywords/SuspendInsideTypeArguments.kt");
|
runTest("idea/idea-completion/testData/keywords/SuspendInsideTypeArguments.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user