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 caa2ef93292..67d0b8ff66f 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 @@ -216,6 +216,10 @@ object KeywordCompletion { } } + if (prevLeaf?.getParentOfType(strict = false) != null) { + prefixText += "if(true){}" + } + return buildFilterWithContext(prefixText, prevParent, position) } else { diff --git a/idea/idea-completion/testData/keywords/ElseAfterBlocklessIf.kt b/idea/idea-completion/testData/keywords/ElseAfterBlocklessIf.kt new file mode 100644 index 00000000000..f3dde8775b3 --- /dev/null +++ b/idea/idea-completion/testData/keywords/ElseAfterBlocklessIf.kt @@ -0,0 +1,8 @@ +fun foo(p: Int) { + var x = 0 + if (p > 0) + x += p + el +} + +//EXIST: else \ No newline at end of file diff --git a/idea/idea-completion/testData/keywords/ElseOnOtherLine.kt b/idea/idea-completion/testData/keywords/ElseOnOtherLine.kt new file mode 100644 index 00000000000..682fc0f505a --- /dev/null +++ b/idea/idea-completion/testData/keywords/ElseOnOtherLine.kt @@ -0,0 +1,8 @@ +fun foo(p: Int) { + if (p > 0) { + + } + el +} + +//EXIST: else \ No newline at end of file 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 81f488c9f8f..7bd52ba2186 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 @@ -144,6 +144,18 @@ public class KeywordCompletionTestGenerated extends AbstractKeywordCompletionTes doTest(fileName); } + @TestMetadata("ElseAfterBlocklessIf.kt") + public void testElseAfterBlocklessIf() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/keywords/ElseAfterBlocklessIf.kt"); + doTest(fileName); + } + + @TestMetadata("ElseOnOtherLine.kt") + public void testElseOnOtherLine() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/keywords/ElseOnOtherLine.kt"); + doTest(fileName); + } + @TestMetadata("FileKeyword.kt") public void testFileKeyword() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/keywords/FileKeyword.kt");