diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaKeywordCompletion.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaKeywordCompletion.java index 5881e7470f6c..d1d1a7bc083f 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaKeywordCompletion.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaKeywordCompletion.java @@ -547,6 +547,12 @@ public class JavaKeywordCompletion { if (HighlightingFeature.RECORDS.isAvailable(myPosition)) { addKeyword(new OverridableSpace(createKeyword(PsiKeyword.RECORD), TailType.HUMBLE_SPACE_BEFORE_WORD)); } + if (HighlightingFeature.LOCAL_ENUMS.isAvailable(myPosition)) { + addKeyword(new OverridableSpace(createKeyword(PsiKeyword.ENUM), TailType.HUMBLE_SPACE_BEFORE_WORD)); + } + if (HighlightingFeature.LOCAL_INTERFACES.isAvailable(myPosition)) { + addKeyword(new OverridableSpace(createKeyword(PsiKeyword.INTERFACE), TailType.HUMBLE_SPACE_BEFORE_WORD)); + } } if (PsiTreeUtil.getParentOfType(myPosition, PsiExpression.class, true, PsiMember.class) == null && PsiTreeUtil.getParentOfType(myPosition, PsiCodeBlock.class, true, PsiMember.class) == null) { diff --git a/java/java-tests/testData/codeInsight/completion/keywords/localEnum.java b/java/java-tests/testData/codeInsight/completion/keywords/localEnum.java new file mode 100644 index 000000000000..4cd606cd5e9e --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/keywords/localEnum.java @@ -0,0 +1,6 @@ +class Test { + void test() { + en + } +} + diff --git a/java/java-tests/testData/codeInsight/completion/keywords/localEnum_after.java b/java/java-tests/testData/codeInsight/completion/keywords/localEnum_after.java new file mode 100644 index 000000000000..af002cd1fd85 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/keywords/localEnum_after.java @@ -0,0 +1,6 @@ +class Test { + void test() { + enum + } +} + diff --git a/java/java-tests/testData/codeInsight/completion/keywords/localInterface.java b/java/java-tests/testData/codeInsight/completion/keywords/localInterface.java new file mode 100644 index 000000000000..1612da1d854a --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/keywords/localInterface.java @@ -0,0 +1,6 @@ +class Test { + void test() { + inte + } +} + diff --git a/java/java-tests/testData/codeInsight/completion/keywords/localInterface_after.java b/java/java-tests/testData/codeInsight/completion/keywords/localInterface_after.java new file mode 100644 index 000000000000..5d25a9e0d1f0 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/keywords/localInterface_after.java @@ -0,0 +1,6 @@ +class Test { + void test() { + interface + } +} + diff --git a/java/java-tests/testData/codeInsight/completion/keywords/noLocalInterfaceAt15.java b/java/java-tests/testData/codeInsight/completion/keywords/noLocalInterfaceAt15.java new file mode 100644 index 000000000000..1612da1d854a --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/keywords/noLocalInterfaceAt15.java @@ -0,0 +1,6 @@ +class Test { + void test() { + inte + } +} + diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/KeywordCompletionTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/KeywordCompletionTest.java index 21ccf2e92a4b..1ad50098f004 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/KeywordCompletionTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/KeywordCompletionTest.java @@ -188,6 +188,15 @@ public class KeywordCompletionTest extends LightCompletionTestCase { public void testQualifiedNew() { doTest(1, "new"); } public void testRecord() {setLanguageLevel(LanguageLevel.JDK_14_PREVIEW); doTest(); } public void testRecordInFileScope() {setLanguageLevel(LanguageLevel.JDK_14_PREVIEW); doTest(1, "record"); } + public void testNoLocalInterfaceAt15() { + setLanguageLevel(LanguageLevel.JDK_15); doTest(0); + } + public void testLocalInterface() { + setLanguageLevel(LanguageLevel.JDK_15_PREVIEW); doTest(); + } + public void testLocalEnum() { + setLanguageLevel(LanguageLevel.JDK_15_PREVIEW); doTest(); + } public void testSealedModifier() {setLanguageLevel(LanguageLevel.JDK_15_PREVIEW); doTest(1, "sealed"); } public void testPermitsList() {setLanguageLevel(LanguageLevel.JDK_15_PREVIEW); doTest(1, "permits"); }